Re: comments from the XML Schema WG on Last Call draft of Namespaces in XML 1.1

This is not a formal response to your comment, just my view on one of
the issues you raise.

You say:

 We have found it exceedingly helpful, both in the XML Schema
 specification and in the internal discussions of our Working Group,
 to have several different pairs of terms, which denote respectively:

    * (a) names which are allowed to have a colon, vs. names which are
    not allowed to have a colon

    * (b) names which are associated with a namespace by the rules of
    the Namespace Recommendation, vs. names which are not assigned
    directly to any namespace

    * (c) names which in fact have a colon, vs. names with no colon

 Distinction (a) is conveyed by the terms QName and NCName, both in
 this spec and in ours. Distinction (b) we have often made by means of
 the terms 'namespace-qualified name' vs. 'unqualified name'. We
 denote distinction (c) with the terms 'prefixed name' and 'unprefixed
 name'.

(a) is not quite right, or at least not exhaustive.  There are three
categories of names in namespace-well-formed documents: names that can
have multiple colons, names that can have a single colon, and names
that cannot have a colon.  Names with more than one colon cannot
appear in namespace-valid documents, but in a valid and
namespace-well-formed but not namespace-valid document the ID "a:b:c"
is a Name but not a QName.

The term "qualified name" should be used for names that are subject to
namespace interpretation (even if they may end up in no namespace).
We use the production QName for such names.  Of course these are
exactly the names that may have a no colon or a single colon; but if
in some context it were decided to use names with a colon for some
other purpose, I think it would be a mistake to use the QName
production.  That is, the production QName should be though of as
corresponding to qualified name rather than merely meaning "zero or
one colons".

-- Richard

Received on Friday, 22 November 2002 09:25:29 UTC