[xsl] exclude-result-prefixes not removing the xmlns attribute in the root element

Subject: [xsl] exclude-result-prefixes not removing the xmlns attribute in the root element
From: Juergen Donnerstag <juergen.donnerstag@xxxxxxxxx>
Date: Tue, 3 Jan 2006 11:48:23 +0100
I need to remove the xmlns attribute from the root tag of the output.
>From various docs I understood that the xsl processor inserts it
automatically and by means of exclude-result-prefixes it can be
removed. In my case however the
xmlns:wicket="http://wicket.sourceforge.net"; attribute is already part
of the root tag of the input and it seems to me
exclude-result-prefixes="wicket" does not remove it. The output
actually is the same; with and without exclude-result
prefixes="wicket".

The xsl sheet I'm using:
<?xml version="1.0" encoding="ISO-8859-1"?>

<xsl:stylesheet version="1.0"
	xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
	xmlns:wicket="http://wicket.sourceforge.net";
	exclude-result-prefixes="wicket">

<xsl:output method="xml" omit-xml-declaration="yes"/>

<!--  Just copy everything. This is basically the same as xsl:copy-of -->
<xsl:template match="/ | @* | node()">
  <xsl:copy> <xsl:apply-templates select="@* | node()"/> </xsl:copy>
</xsl:template>

</xsl:stylesheet>

and the input:

<span xmlns:wicket="http://wicket.sourceforge.net";
wicket:id="test4"><span wicket:id="myBorder2"
testAttr="myValue"><wicket:border>before body -
<wicket:body>border</wicket:body> - after
body</wicket:border></span></span>

Any idea on how to remove xmlns:wicket from the output? Your help is
very much appreciated. Thanks

Juergen

Current Thread