RE: [xsl] namespace prefix weirdness

Subject: RE: [xsl] namespace prefix weirdness
From: "Michael Kay" <mhk@xxxxxxxxx>
Date: Thu, 19 Aug 2004 08:21:48 +0100
The "undeclare-namespaces" property applies only to namespaces with an
explicit prefix. Undeclaration of the default namespace (xmlns="") has
always been allowed (and is often necessary) even with XML 1.0 and XSLT 1.0.

Michael Kay 

> -----Original Message-----
> From: Colin Paul Adams [mailto:colin@xxxxxxxxxxxxxxxxxx] 
> Sent: 18 August 2004 15:18
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Cc: 'Bruce D'Arcus'
> Subject: Re: [xsl] namespace prefix weirdness
> 
> >>>>> "Michael" == Michael Kay <mhk@xxxxxxxxx> writes:
> 
> 
>     Michael> I think that what's happening here is that when Saxon
>     Michael> copies an element (xsl:copy-of applied to the mods
>     Michael> element in this case), it first copies all the namespace
>     Michael> nodes from the source element, then performs namespace
>     Michael> fixup to decide what prefix to allocate to the element
>     Michael> name (and to any attribute names). While copying the
>     Michael> namespace nodes, it has decided to generate an xmlns=""
>     Michael> undeclaration, because the source element does not have
>     Michael> the namespace xmlns="http://www.loc.gov/mods/v3"; in scope
>     Michael> and it therefore needs to be undeclared.
> 
> The spec says that undeclare-namespaces should default to "no", and is
> only relevant for method="xml" and version="1.1".
> I couldn't see any xsl:output statemtent in the code, so 
> isn't this a bug?
> -- 
> Colin Paul Adams
> Preston Lancashire

Current Thread