xml editor

Supported platforms

Compatible with Windows7 & Mac OS X Snow Leopard

Ready for data server software
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

Re: [xsl] Rename Some Node ans attribute


Subject: Re: [xsl] Rename Some Node ans attribute
From: Abel Braaksma <abel.online@xxxxxxxxx>
Date: Mon, 16 Oct 2006 16:31:08 +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
Keywords
XML Editor | XML Author | WYSIWYG Editors | Schema Editor | XSD Documentation | XSL/XSLT Editor | XQuery | XML Databases | SVN Client
© 2002-2011 SyncRO Soft Ltd. All rights reserved. | Sitemap | Privacy Policy | This website was created & generated with <oXygen/>®XML Editor