Subject: Re: [xsl] exclude-result-prefixes not removing the xmlns attribute in the root element From: andrew welch <andrew.j.welch@xxxxxxxxx> Date: Tue, 3 Jan 2006 11:01:29 +0000 |
On 1/3/06, Juergen Donnerstag <juergen.donnerstag@xxxxxxxxx> wrote: > 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 In 2.0 you can use copy-namespaces="no" In 1.0, the namespace and element name are fixed together, the only way to 'remove' it is to create a new element in no namespace, so modify your identity transform to be: <xsl:template match="*"> <xsl:element name="{local-name()}"> <xsl:apply-templates select="@*|*"/> </xsl:element> </xsl:template> <xsl:template match="@*"> <xsl:attribute name="{local-name()}"> <xsl:value-of select="."/> </xsl:attribute> </xsl:template> cheers andrew
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] exclude-result-prefixes not r, Juergen Donnerstag | Thread | Re: [xsl] exclude-result-prefixes n, Juergen Donnerstag |
[xsl] exclude-result-prefixes not r, Juergen Donnerstag | Date | Re: [xsl] exclude-result-prefixes n, Juergen Donnerstag |
Month |