QNames?

The Query/XPath Data Model document uses the term "QName" to
refer to a namespace/localname pair. I've been told that
this usage is pervasive throughout the XQuery/XPath2/XSLT2
specifications.

Unfortunately, that's in conflict with estaliblished usage.
The Namespaces Recommendation defines a QName specifically
as a prefix:localname pair (see
http://www.w3.org/TR/REC-xml-names/#ns-qualnames). The DOM
Level 2 spec also uses that nomenclature. Since prefixes may
be locally rebound (yielding more than one namespace per
prefix) or bound to the same namespace URI (yielding the
reverse), the two concepts are not interchangable, and
attempting to overload the term is likely to cause
confusion.

The Namespace spec does suggest a name for the ns/local
pair: in appendix A3 they call this the Expanded name --
more specifically the Expanded Element Type (ExpEType) and
Expanded Attribute Name (ExpAName).
(http://www.w3.org/TR/REC-xml-names/#ns-expnames). 

Admittedly, this nomenclature is only introduced "for
convenience", so it's a bit less official. But I strongly
suggest that you either adopt ExpETye and ExpAName, or
invent some similar term which subsumes both (ExpName,
perhaps?), and use this new term whenever you intend
ns/local -- leaving QName for its original purpose of
prefix:local.

Received on Thursday, 14 March 2002 12:49:33 UTC