Re: Erratum NE09 needs clarification

>  On your web page "http://www.w3.org/XML/xml-names-19990114-errata", item
> NE09  could better clarify how it applies to section 5.2 of web page
> "http://www.w3.org/TR/REC-xml-names/".
>
>   NE09 says "The empty string, though it is a legal URI reference, cannot be
> used as a namespace name."
>   Section 5.2 says "The default namespace can be set to the empty string.
> This has the same effect, within the scope of the declaration, of there
> being no default namespace."
> 
>   I believe your intent in NE09 is to leave xmlns="" legal, and merely to
> forbid xmlns:whatever="", and if indeed this is your intent, then I suggest
> saying something explicit about the default namespace in NE09.

The intent of that part of NE09 is just to say that you can't have a
namespace name that is the empty string.  5.2 confuses the syntax of
the declaration with the value of the namespace: despite what 5.2
says, xmlns="" does not *set* the default namespace to the empty
string; it *unsets* the default namespace.  xmlns="" is just a syntax
for unsetting the default namespace, and the "" is not really a URI at
all.

To put it another way, one reason why you can't use the empty string
as a namespace name is that the syntax xmlns="" is used for the different
purpose of unsetting the default namespace.

In Namespaces 1.1, the paragraph in 5.2 (6.2 in 1.1) has been changed
to:

  The attribute value in a default namespace declaration MAY be
  empty. This has the same effect, within the scope of the
  declaration, of there being no default namespace.

This removes the incorrect suggestion that the default namespace
itself, rather than just the string in the declaration, is an empty
string.

We intend to release a second edition of Namespaces 1.0 which will
incorporate the errata and the editorial changes from 1.1, so I doubt
that we will issue a separate erratum about this.

-- Richard

Received on Friday, 27 August 2004 21:37:30 UTC