exclude-result-prefixes only affects the namespaces created using literal
result elements. It has no effect on namespaces copied from the source
document using xsl:copy or xsl:copy-of.
XSLT 2.0 provides a copy-namespaces=yes|no attribute on these instructions.
In 1.0 you have to switch from using xsl:copy to using an modified-identity
template with xsl:element name="{local-name()}".
Rather than this:
<xsl:template match="@* | node()">
<xsl:if test="name()!='xlink:href'">
<xsl:copy>
<xsl:apply-templates select="@* | node()" />
</xsl:copy>
</xsl:if>
</xsl:template>
it's much cleaner to do this:
<xsl:template match="@* | node()">
<xsl:copy>
<xsl:apply-templates select="@* | node()" />
</xsl:copy>
</xsl:template>
<xsl:template match="@xlink:href"/>
Apart from anything else, it doesn't depend on the document author's choice
of namespace prefix.
Michael Kay
http://www.saxonica.com/
-----Original Message-----
From: Hank Ratzesberger [mailto:hankr(_at_)crustal(_dot_)ucsb(_dot_)edu]
Sent: 22 September 2005 01:31
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] Removing namespace attributes
I want to strip all namespaces and one
attribute (declared in the namespace).
In my stylesheet, I declare the namespaces
and then list them in the exclude-result-prefixes.
But it doesn't work. The namespaces remain.
Thank you for your ideas,
Hank
Hank Ratzesberger
NEES Programmer
Institute for Crustal Studies
University of California, Santa Barbara
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:flextps="http://flextps.org/schema/"
xmlns:xlink="http://www.w3.org/1999/xlink"
exclude-result-prefixes="flextps">
<xsl:template match="@* | node()">
<xsl:if test="name()!='xlink:href'">
<xsl:copy>
<xsl:apply-templates select="@* | node()" />
</xsl:copy>
</xsl:if>
</xsl:template>
</xsl:stylesheet>
--~------------------------------------------------------------------
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>
--~--
--~------------------------------------------------------------------
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>
--~--