Hi,
Do I need to
include xsl:copy to pass across the newly created node?
Can I declare the variable x outside the template?
I like the method and the short hand way of creating the node <yes
ID="{$x}"/>
Salud
<xsl:template match="*[yes]">
<xsl:copy>
<xsl:apply-templates select="yes[(_at_)ID < $x]"/>
<yes ID="{$x}"/>
<xsl:apply-templates select="yes[(_at_)ID >= $x]"/>
</xsl:copy>
</xsl:template>
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
You're right that you need it here to make a copy of the "yes" parent element.
Forgot it, sorry. The variable x can be declared anywhere as long as it's
visible here, or you can read the ID value of the new "yes" from the source
tree.
Cheers,
Jarno
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list