RE: [xsl] exclude-result-prefixes

Subject: RE: [xsl] exclude-result-prefixes
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Fri, 5 Nov 2004 00:17:54 -0000
exclude-result-prefixes only affects the evaluation of literal result
elements.

xsl:copy-of makes an exact copy of a node, together with all its children,
attributes, and namespaces. It is not affected by exclude-result-prefixes. 

XSLT 2.0 provides an option for xsl:copy-of to exclude unused namespaces.

If you are building your stylesheet dynamically, why don't you build one
that is less tortuous?

Michael Kay
http://www.saxonica.com/ 

> -----Original Message-----
> From: Kevin Collins [mailto:kevin.collins@xxxxxxx] 
> Sent: 04 November 2004 21:28
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: [xsl] exclude-result-prefixes
> 
> In the following stylesheet I use the document function to access the
> current stylesheet in order copy the contents of a variable. 
> The reason
> I do this is because the stylesheet is built dynamically and the
> variable may not exist. 
> 
> The problem is the xsl namespace attached to the <tr> element in the
> output. How do I exclude that?
> 
> I tried adding exclude-result-prefixes="xsl" to the <tr> 
> element inside
> the variable but it didn't work. 
> 
> Thanks,
> Kevin Collins
> 
> 
> XSL:
> <xsl:stylesheet 
>    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; 
>    version="1.0">
>    <xsl:output method="xml" indent="yes" />
> 	
>    <xsl:template match="/">
>       <table>
>          <xsl:copy-of 
>  
> select="document('')/*/xsl:variable[@name='optionalstuff']/*" />
>          <tr>
>             <td>Common stuff here.</td>
>          </tr>
>       </table>
>    </xsl:template>
> 
>    <xsl:variable name="optionalstuff">
>       <tr>
>          <td>Optional stuff here.</td>
>       </tr>
>    </xsl:variable>
> 
> </xsl:stylesheet>
> 
> Output:
> <table>
>    <tr xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
>       <td>Optional stuff here.</td> 
>    </tr>
>    <tr>
>       <td>Common stuff here.</td> 
>    </tr>
> </table>

Current Thread