Re: Request to name the "no namespace" namespace

(Draft reply; please comment)

> This is a request from a somewhat exasperated CSS Namespaces [1] editor.
> Can you please assign the "no namespace" namespace a name? It's very hard
> to talk about it and make conformance requirements that involve it when
> it doesn't have a name.

The XML Core WG discussed the matter, and our feeling is that we can't
give this namespace a name, because it does not exist: when elements
are not in a namespace, it is not because they are in a "no namespace"
namespace, or a nameless namespace, but because there does not exist
any namespace which in fact contains them.

This means that one must sometimes write annoying parenthetical remarks
like "The output element is in the same namespace as the input element
(or, if the input element is not in a namespace, the output element is
not either)."  This is just one of those things that makes writing a
spec challenging and fun.  Alternatively one can proclaim at the top of
the spec once and for all that elements in no namespace are treated as
if they were in a namespace called Eric, or perhaps "eric:///".  :-)

More broadly, for us to write a new spec proclaiming that the elements
formerly described as being in no namespace are now actually in a
namespace after all would be productive of nothing but headaches and
confusion.  We got in enough trouble, as you may recall, for retroactively
proclaiming a namespace name for the "xmlns" namespace.

> (Bonus points for explicitly associating it with the empty string --
> explaining how the empty string represents it while keeping it distinct
> from the idea of an empty string namespace name is also difficult.)

Unfortunately, that is highly API-dependent.  Some APIs use the empty
string as a representation of the nonexistent namespace of an element, but
others use the C or Java null instead, and both positions are legitimate.

Additionally, "" is not a legitimate namespace name, because a namespace name
is a URI, and "" is not a valid URI according to the grammar in RFC 3986.
It is a legitimate value for an "xmlns" attribute, but that's another thing.

We hope these explanations are helpful, if not as helpful as you had hoped.

-- 
John Cowan    http://ccil.org/~cowan    cowan@ccil.org
SAXParserFactory [is] a hideous, evil monstrosity of a class that should
be hung, shot, beheaded, drawn and quartered, burned at the stake,
buried in unconsecrated ground, dug up, cremated, and the ashes tossed
in the Tiber while the complete cast of Wicked sings "Ding dong, the
witch is dead."  --Elliotte Rusty Harold on xml-dev

Received on Wednesday, 23 April 2008 16:03:54 UTC