Subject: Re: [xsl] Rename Some Node and attribute From: Davide Antoni <davide.antoni@xxxxxxxxxxx> Date: Mon, 16 Oct 2006 17:00:52 +0200 |
Davide Antoni wrote:Hi to all
<xsl:template match="*"> <xsl:copy> <xsl:copy-of select="@*[name()!='idCup']"/> <xsl:if test="@idCup"> <xsl:attribute name="idCUP"> <xsl:value-of select="@idCup"> </xsl:value-of> </xsl:attribute> </xsl:if> <xsl:apply-templates/> </xsl:copy> </xsl:template>
Why all the complex xsl:copy and xsl:copy-of intermingled with xsl:if? Make it yourself easier by applying the (in)famous copy-idiom. Try this as a complete replacement of your code and the magic of XSLT will do the work:
<xsl:template match="node( ) | @*"> <xsl:copy> <xsl:apply-templates select="@* | node( )"/> </xsl:copy> </xsl:template>
<xsl:template match="@idCup"> <xsl:attribute name="idCUP"> <xsl:value-of select="."/> </xsl:attribute> </xsl:template>
Hope this helps,
Cheers -- Abel Braaksma http://www.nuntia.com
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Rename Some Node ans attr, Abel Braaksma | Thread | [xsl] [XSLT 2.0] Checking that an e, Costello, Roger L. |
Re: [xsl] Rename Some Node ans attr, Abel Braaksma | Date | Re: [xsl] XSL and XML Help, Wendell Piez |
Month |