|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: XSL : how to turn <name> into <data elem="name">
>I am a beginner in XSL. I would like to convert XML document into another >XML document using XSL. The only transformation is to do ><name>value<name/> INTO <data elem="name">value</data> >for all tags in incoming XML. How can I do this ? Try this: <xsl:template match="*"> <xsl:element name="data"> <xsl:attribute name="elem"><xsl:value-of select="name(.)"/></xsl:attribute> <xsl:value-of select="."/> </xsl:element> </xsl:template> This will work if none of the XML is nested. I am only presuming this from your example because your example doesn't show any child elements. However, if you do have elements inside elements - e.g. <name> <my_name>Me</my_name> </name> Then do this: <xsl:template match="*"> <xsl:element name="data"> <xsl:attribute name="elem"><xsl:value-of select="name(.)"/></xsl:attribute> <xsl:apply-templates/> </xsl:element> </xsl:template> This will run through the template match for the element's children as well, e.g: <name> <my_name>value</my_name> <name/> will become <data elem="name"> <data elem="my_name">value</data> </data> 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








