|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: Converting attributes into child elements
Here's an example from my book, taken from
the section called "The Talented Identity Transformation".
Hope it helps...
<!-- AttrToElement.xsl: Turn all attributes into subelements -->
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<!-- Import the identity transformation. -->
<xsl:import href="Identity.xsl"/>
<xsl:strip-space elements="*"/>
<xsl:output indent="yes"/>
<!-- Match any Attribute and turn it into an element -->
<xsl:template match="@*">
<xsl:element name="{name(.)}"><xsl:value-of select="."/></xsl:element>
</xsl:template>
</xsl:stylesheet>
The base "Identity.xsl" transformation, imported by
the AttrToElement.xsl stylesheet above, looks like this:
<!-- The Identity Transformation -->
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<!-- Whenever you match any node or any attribute -->
<xsl:template match="node()|@*">
<!-- Copy the current node -->
<xsl:copy>
<!-- Including any attributes it has and any child nodes -->
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
______________________________________________________________
Steve Muench, Lead XML Evangelist & Consulting Product Manager
BC4J & XSQL Servlet Development Teams, Oracle Rep to XSL WG
Author "Building Oracle XML Applications", O'Reilly
http://www.oreilly.com/catalog/orxmlapp/
----- Original Message -----
From: <jlangdon@xxxxxxxxxxxx>
To: <xsl-list@xxxxxxxxxxxxxxxx>
Sent: Saturday, November 11, 2000 8:38 AM
Subject: Converting attributes into child elements
| Hello All,
|
| I need some help with a transformation. I would like to take an element
| with multiple attributes and convert them so the attributes are now child
| elements of the original element. See example.
|
| <contactInfo>
| <person fname="John" lname="Doe" address="123 Main Street"
| city="Princeton"
| zipcode="08800">
| <person fname="John" lname="Doo" address="456 Main Street" city="Trenton"
| zipcode="08801">
| <person fname="John" lname="Doh" address="789 Main Street"
| city="Jamesburg"
| zipcode="08802">
| </contactInfo>
|
| Convert to
|
| <contactInfo>
| <person>
| <fname>John</fname>
| <lname>Doe</lname>
| <address>123 Main Street</address>
| <city>Princeton</city>
| <zipcode>08800</zipcode>
| </person>
| <person>
| <fname>John</fname>
| <lname>Doo</lname>
| <address>456 Main Street</address>
| <city>Trenton</city>
| <zipcode>08801</zipcode>
| </person>
| <person>
| <fname>John</fname>
| <lname>Doh</lname>
| <address>789 Main Street</address>
| <city>Jamesburg</city>
| <zipcode>08802</zipcode>
| </person>
| </contactInfo>
|
| Any direction would be greatly appreciated.
|
| TIA,
|
| Jeff Langdon
| Web Programmer
| LTA Group, Inc
| Jamesburg, NJ 08831
|
|
| ---------------------------------------------
| This message was sent using MI-Webmail.
| No matter where you are, never lose touch.
| Get your Email using MI-Webmail.
| http://www.monmouth.com/
|
|
|
| XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|

Cart








