RE: [xsl] creating new elements in XML when performing an XML to XML transformation

Subject: RE: [xsl] creating new elements in XML when performing an XML to XML transformation
From: "Michael Kay" <mhk@xxxxxxxxx>
Date: Tue, 10 Feb 2004 22:38:42 -0000
> 
> <xsl:template match="@*|node()">
> 
>    <xsl:copy>
>      <xsl:apply-templates select="@*|node()"/>
>    </xsl:copy>
> </xsl:template>
> 
> 
> I'm able to grab the elements that I want to change, but what 
> do I do if I want to create new elements below the root element?
> 

Just add another template rule:

<xsl:template match="/*">    
     <xsl:copy>
       <xsl:apply-templates select="@*"/>
       <new-element/>
       <xsl:apply-templates select="node()"/>
     </xsl:copy>
</xsl:template>

Note that the attributes must be output before any child elements.

Michael Kay


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread