Subject: RE: 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: 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
|