Subject: RE: [xsl] XSL : how to turn <name> into <data elem="name"> From: "Sean Power" <spower@xxxxxxxxx> Date: Wed, 7 Feb 2001 20:00:11 -0500 |
>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
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] XSL : how to turn <name> , Ben Robb | Thread | Re: [xsl] XSL : how to turn <name> , David Carlisle |
RE: [xsl] XSL : how to turn <name> , Ben Robb | Date | [xsl] viewing XSL + XML in ie5.5, Rosa I-Ting Cheng |
Month |