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(_dot_)collins(_at_)art(_dot_)com]
Sent: 04 November 2004 21:28
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
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[(_at_)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>
--+------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail:
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--+--