I need to copy different element to output. For all
the elements I need to exclude the namespace attribute
when i use "xsl:copy-of" or "xsl:copy". It seems
difficult to specify this in XSLT. Any comment would
be appreciated!
Use something like this:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output omit-xml-declaration="yes"/>
<xsl:template match="t">
<xsl:element name="{name()}">
<xsl:copy-of select="namespace::*[not(. = 'b')]"/>
<xsl:copy-of select="@* | node()"/>
</xsl:element>
</xsl:template>
</xsl:stylesheet>
When this transformation is applied on the following source.xml:
<t xmlns:a="a" xmlns:b="b"/>
the result is:
<t xmlns:a="a"/>
so the namespace "b" has been excluded.
Hope this helped.
=====
Cheers,
Dimitre Novatchev.
http://fxsl.sourceforge.net/ -- the home of FXSL
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list