Re: [XSLT2.0] OB04, 5.6.3 Namespace Fixup, QNames in content

Oliver,

Last epiphany you raised the following comment on XSLT 2.0:

http://lists.w3.org/Archives/Public/public-qt-comments/2004Jan/0008.html

This comment found its way into a bundle of issues on namespaces, which have
now been resolved.

The short answer to your comment is that the situation you describe is
considered an error: namespace fixup will not change the prefix of a
QName-in-content, so if two conflicting prefixes are used, the processor
will raise an error. We made this decision because we felt it was sometimes
unavoidable for an application to have dependencies on the choice of prefix
used in QName-valued content.

This issue and others like it convinced us that we needed to change the way
QName values are modelled; an expanded QName now contains a prefix as well
as a namespace URI and local name. The prefix is used only when the QName
needs to be converted to a string. This mechanism allows QNames to be used
meaningfully when they are detached from an element with a namespace context
- as well as solving the problem of QNames in content, this was necessary to
handle parentless attribute nodes. (You may hear this referred to as "the
triples proposal", because an expanded QName now has three components).

Thank you for the incisive comment. Since it was expressed as a question,
not as a request for a specific change, I trust that the response is
satisfactory.

Regards,

Michael Kay
for the XSL Working Group

Received on Friday, 20 August 2004 15:24:35 UTC