- From: John Cowan <cowan@ccil.org>
- Date: Wed, 23 Apr 2008 12:03:20 -0400
- To: public-xml-core-wg@w3.org
(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