Namespaces, prefixes, and URIs

David Brownell db at
Sun Apr 11 23:36:13 BST 1999

John, I hope you recognize that you've just moved a discussion
from a private mailing list to a public XML-DEV one?  I'd not
mind if such transitions were done with permission, and carried
the appropriate context.

[ The real issue discussed here has nothing to do with anything in
the title any more -- it's just whether to treat the namespace spec
as a revision to the XML spec.  I'm saying the answer is "no";
namespace rules don't supercede XML 1.0 rules.  The spec wasn't
written or sold that way.  Re an "XML 1.1" or "2.0", no comment. ]

John Cowan wrote:
> David Brownell scripsit:
> > I didn't see the words "deserve to lose" in the spec.  What I
> > saw was a statement that if you use namespaces (TBS) your docs
> > might need to change.  The XML 1.0 spec has not been revised
> > (incompatibly) to require conformance to the namespace spec.
> It says:

... in part ...

> # [A]uthors should not use the colon in XML names except as part of
> # name-space experiments[.]
> So there is a SHOULD NOT prohibition against bogus colons of the
> first kind (non-namespace).

Nope -- two reasons.  Firstly, the fact that the "first kind" of
document I described _conforms fully_ to the namespace spec!!

If you are truly disagreeing with the point I made there, you are
then arguing that somehow a processor may conform to the XML 1.0
and DOM specs, and yet refuse to process namespace-conformant docs.
(Perhaps because it didn't add special support for namespaces?)
I hope you aren't saying that.

Second point:  since the sentence you excerpted begins "in practice",
it's clearly not normative.  This is emphasized by the fact that it
doesn't use normative language, like "MUST NOT".

In fact, the second half of the sentence you excerpted (the "[.]")
repeats what the XML spec says elsewhere, normatively.  Colons are
just name characters.  An XML 1.0 processor must accept names with
colons in them (even ":this:is:an:XML_1.0:name").  No prohibition;
to the contrary, if you don't accept names like that, you don't
conform to the XML spec.

> Bogus colons of the second kind (namespace experiments) may
> indeed have to be changed, but why must the DOM support non-W3
> namespace experiments?  The uses of colons in namespaces are
> now prescribed, and other uses are proscribed.

Re that last comment, where would they be proscribed?  Clearly
not in the XML 1.0 spec.  Likewise, not in the namespace spec.
And not in the DOM spec.

Neither DOM nor XML have been revised (incompatibly) to mandate
support only of documents that conform to the namespace spec.
I've not heard anyone propose that it be done, either.

> > In general, my background makes me believe that incompatible
> > changes to foundational specs (e.g. XML 1.0) are, as a rule,
> > pure unadulterated evil.
> >
> > One never quite knows what could get broken by such changes ...
> > though it's usually "someone else's software" not your own.
> > Now there's a dynamic to think about.
> You're right in general.  But the XML Rec goes to some pains to say
> that uses of : are either deprecated or may have to be changed,
> putting people on notice pending the namespace Rec.

It says that if you're using namespaces, documents may need to
change -- no more.  The language used in the XML and namespaces
specs does NOT indicate that namespaces are a requirement.

> > Didn't namespaces break architectural forms compatibility?
> > Minimally the <?IS10744:arch ...?> PI doesn't conform.
> The alternative form <?IS10744 arch ...?> works fine;
> I'll get the XAF maintainers to add support for it.
> (Bill?)

And modify the docs, etc.  Sounds good.

> > And aren't there SGML applications using colons as name
> > characters?  Perhaps permitting such SGML systems to
> > migrate to XML isn't "really important" any more.
> Are colons NAMESTRT characters in the reference concrete syntax?

Hmm, going by James Clark's writeup ref'd by the XML spec, no.

Now I'm curious how an ISO SGML standard ended up using
colons in a way that (to this non-SGML person) seems like it
violates the SGML standard!  Perhaps the "reference" syntax
isn't the only "really important" SGML syntax around.

- Dave

xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at
Archived as: and on CD-ROM/ISBN 981-02-3594-1
To (un)subscribe, mailto:majordomo at the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo at the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at

More information about the Xml-dev mailing list