RE: [xsl] superfluous namespace declarations with xsl:element

Subject: RE: [xsl] superfluous namespace declarations with xsl:element
From: "Michael Kay" <michael.h.kay@xxxxxxxxxxxx>
Date: Tue, 10 Dec 2002 14:25:08 -0000
> How can I avoid, that with <xsl:element name="{name()}"> and 
> a namespace-prefix in this name, I get a namespace 
> declaration in my output on mostly all elements created this 
> way? Is there some strategy, to get the namespace declaration 
> only once in my root element?
> 
> Transformers work quite differently on this point (eg. msxslt 
> apparently avoids itself superfluous declarations), so I'm 
> wondering if there is a general approach at all.

Most XSLT processors will avoid outputting redundant namespace
declarations, but there is no way of forcing them to do so.

What processor are you using and what output are you getting?

Why are you using <xsl:element name="{name()}"> rather than <xsl:copy>?
There is an important difference: xsl:copy puts the new element in the
same namespace as the original, whereas <xsl:element name="{name()}">
looks for a namespace declaration in the stylesheet that has the same
namespace prefix as the original name in the source document.

Michael Kay
Software AG
home: Michael.H.Kay@xxxxxxxxxxxx
work: Michael.Kay@xxxxxxxxxxxxxx 


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread