Re: Change namespace of xml:id

Daniel Veillard wrote:


>   I don't think using a non-namespaced attribute for what we want to
> do would be accepted within W3C. And using a namespace different than
> the XML one would also raise serious problems IMHO. We got lot of flack
> when doing XML Base, but nobody complained that adding the xml: prefix
> was too hard for authors, either in the design phase nor since it's a REC.

That's not what we're saying. The key difference is that in 2001 nobody 
had yet realized xml::base was incompatible with canonical XML. It's 
that incompatibility we're trying to fix here, not the ease or 
difficulty of typing xml:id vs. xmlid. We're just trying to say that 
xmlid really isn't all that difficult.

If anybody had realized in 2001 how xml:base was incompatible with 
canonicalization, one or both could have been fixed.

For the record, the more I think about it, the more I think xmlid in no 
namespace is the way to go. It works. It doesn't step on anybody's toes. 
It's compatible with canonicalization; and, as the cherry on the cake, 
it's indeed easier to use in pretty much every API and editor I'm aware of.

I know there'll be some resistance in the W3C to doing something new 
that doesn't use namespaces; but maybe it's time to admit that we have a 
problem. Namespaces are a disaster. It's probably too late to fix this 
disaster. However, here we can put a stake in the ground. The use of 
namespaces for xml:id causes a major incompatibility. The removal of the 
namespace solves the problem completely. Furthermore, it does not 
introduce any additional problems. Putting xmlid in a namespace would 
not make it one iota more functional or useful. It would help no one. 
It's only purpose is to satisfy the commandment that "Thou shalt use 
namespaces." Going forward with xml:id in the face of obvious software 
incompatibility, just so we can use namespaces for their own sake, is 
addictive behavior. Putting the id attribute in yet another namespace 
would be only marginally better. It would fix the incompatibility, but 
it wouldn't actually help in any way compared to the non-namespaced 
xmlid, and it would be a lot clunkier and less likely to be adopted.

Decision time: are we going to go forward with a solution that we know 
is deeply flawed and problematic, just so we can use namespaces? Or are 
we going to accept the very sensible proposal of using xmlid in no 
namespace that satisfies every requirement and causes no one any 
problems? If the decision here is to use namespaces, then I think it's 
time for the W3C's friends to intervene, because they really have a problem.

-- 
Elliotte Rusty Harold  elharo@metalab.unc.edu
XML in a Nutshell 3rd Edition Just Published!
http://www.cafeconleche.org/books/xian3/
http://www.amazon.com/exec/obidos/ISBN=0596007647/cafeaulaitA/ref=nosim

Received on Tuesday, 8 February 2005 16:46:26 UTC