Re: [xsl] Copy idiom and overriding namespaces: trying to be smart, finding approaches

Subject: Re: [xsl] Copy idiom and overriding namespaces: trying to be smart, finding approaches
From: Abel Braaksma Online <abel.online@xxxxxxxxx>
Date: Thu, 27 Jul 2006 01:30:37 +0200
Thanks Michael! That's as clear as it could get. This xsl:namespace had been troubling me for some time, but I understand it cannot be used to "trigger" the start of a new namespace (something like xsl:result-document "triggers" starting outputting to a new document).

About attribute namespaces: that is deliberate. I know from the input document that the attributes will never contain namespaces other than "xml" (for xml:space) or "xsi" (for xsi:nil). And these are allowed by my output docs and will be declared if there's a need.

About "QNames-in-content", I have no clue whatsoever. I thought these need not be declared, but can be declared. But I know little about it, except that I sometimes use it, though. I expect my template to take these values literally, without removing the part before the colon. I think that is what happens now anyway.

Cheers!

Abel Braaksma
www.nuntia.nl

Michael Kay wrote:

Yes, that's a good solution. It doesn't copy any namespaces that aren't
actually used, but that's OK if your source document doesn't use
QNames-in-content (such as xsi:type="xs:integer"). And it doesn't change the
namespace of any attributes.



You can read namespaces nodes using the namespace axis, and in 2.0 you can
create namespace nodes using the xsl:namespace instruction; but none of this
changes the name of an element or attribute. Element and attribute names
consist of a namespace URI plus local name, and to change the namespace URI
of the node you need to use the namespace attribute of xsl:element or
xsl:attribute.


Michael Kay
http://www.saxonica.com/

Current Thread