RE: [xsl] Identity transformation (without using xsl:copy)

Subject: RE: [xsl] Identity transformation (without using xsl:copy)
From: "Michael Kay" <michael.h.kay@xxxxxxxxxxxx>
Date: Mon, 1 Apr 2002 19:32:42 +0100
> A few weeks ago I posted a message (below) asking how to do
> an identity
> transformation (without using <xsl:copy>) on instance documents that
> contain namespace declarations.  The resounding response was "no way".
> [Thanks for your input!]  Okay, after much testing and reading I have
> convinced myself that you are correct - <xsl:copy> must be used.  It
> seems to me that this puts some serious limits on XSLT.  Consider this
> simple problem:  write a stylesheet which does an identity
> transformation, but where all element (local) names are converted to
> upper case.

So long as the processor implements the errata to the XSLT 1.0 spec, you can
do

<xsl:element name="{   }">
  <xsl:copy-of select="namespace::*"/>
  <xsl:copy-of select="@*"/>

in place of xsl:copy: i.e. you can change the element name while still
copying the namespace nodes.

Michael Kay
Software AG
home: Michael.H.Kay@xxxxxxxxxxxx
work: Michael.Kay@xxxxxxxxxxxxxx


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


Current Thread