[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

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


Subject: Re: [xsl] Identity transformation (without using xsl:copy)
From: "Thomas B. Passin" <tpassin@xxxxxxxxxxxx>
Date: Mon, 18 Mar 2002 13:25:41 -0500

[Roger L. Costello]

> Does anyone have a stylesheet which does an identity transformation
> without using xsl:copy?  The below stylesheet works fine provided the
> instance document does not use namespaces, e.g., it does not copy over
> the namespace declarations, and it results in an error being generated
> when an element is encountered that is explicitly namespace-qualified.
> Could someone show me how to enhance this to deal properly with
> namespaces?  Thanks!  /Roger
>

Here's a classic method (it does use xsl:copy, but why not, it works fine
here?) that also copies the elements when namespaces are in play, and you
could get in to intercept specific elements to change them if you wanted to.

Tom P

<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/">
 <xsl:apply-templates/>
</xsl:template>


<!-- Identity transformation template -->
<xsl:template match='*|@*'>
 <xsl:copy>
  <xsl:apply-templates select="@*|node()"/>
 </xsl:copy>
</xsl:template>

</xsl:stylesheet>


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



Current Thread