Re: exclude-result-prefixes

Subject: Re: exclude-result-prefixes
From: Oliver Becker <obecker@xxxxxxxxxxxxxxxxxxxxxxx>
Date: Fri, 4 Aug 2000 11:28:43 +0200 (MET DST)
> what's wrong here (tested with XT, MSXML3, Saxon)? Why isn't the namespace
> decl for "xsi" stripped from the result document?

[...]

> <xsl:template match="* | @* | text()" name="identity" mode="verbatim">
> <xsl:copy>
> <xsl:apply-templates mode="verbatim" select="* | @* | text()"/>
> </xsl:copy>
> </xsl:template>

It's because you use <xsl:copy>.
>From the spec (XSLT, 7.5 Copying)
"Instantiating the xsl:copy element creates a copy of the current node. 
The namespace nodes of the current node are automatically copied as well, 
but the attributes and children of the node are not automatically copied."

A workaround is to create the element with <xsl:element>:

<xsl:element name="{name()}" namespace="{namespace-uri()}">
   ....
</xsl:element>

Ciao,
Oliver


/-------------------------------------------------------------------\
|  ob|do        Dipl.Inf. Oliver Becker                             |
|  --+--        E-Mail: obecker@xxxxxxxxxxxxxxxxxxxxxxx             |
|  op|qo        WWW:    http://www.informatik.hu-berlin.de/~obecker |
\-------------------------------------------------------------------/


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


Current Thread