XML namespaces on the Web

I was asked during TPAC to briefly outline a potential alternate approach  
to making XML namespaces usable on the Web on this mailing list. (Which is  
what the "distributed extensibility" debate seems to center around.)

The reason people appear to be pushing for some solution of XML namespaces  
in HTML seem to be:

A) There is a lot of legacy systems out there that would be hard to  
re-factor to make them ready for XML. They would basically have to be  
rewritten from the ground up to work with an XML toolchain to make sure  
the output is always namespace well-formed. Besides that this probably  
would not happen for cost-benefit reasons it also makes writing a simple  
tool that outputs content a lot more complicated. No more PHP echo or  
Python print to show something on the screen, but rather you would have to  
use some kind of DOM, a serializer, etc.

B) Internet Explorer does not support XHTML.

If the problem is just B I'm not sure it is worth introducing complexity  
in HTML to work around a bug in a browser. Generally we do not introduce  
new features to work around bugs in browsers.

If the problem is A it seems to me it would be better to solve that  
problem at its core: XML. I worked on that while ago (two years or so) and  
put some experimental code and documentation online here:

   http://code.google.com/p/xml5/

It tries to preserve the existing characteristics of XML in browsers by  
not doing anything with the DTD and by being stream-able. It is also  
backwards compatible with XML 1.0 and I think XML 1.1 in the sense that  
any namespace well-formed XML 1.x document will result in the same tree  
when using an XML5 parser. The main new feature is that it also defines  
what the resulting tree will be for byte streams that are not namespace  
well-formed.

The idea is that "XML5" would replace XML 1.x so that we do not end up  
with yet another dialect. This and most of the above is quite  
controversial and since I'm personally still not quite sure what problem  
XML namespaces is solving (they appear to have been added mostly for RDF)  
I have never really pursued this idea much further. However, it was  
brought up again so I thought I should outline the thought process.


(Another reason I played with XML5 is that in mobile walled gardens one  
can often find non-namespace well-formed XML that is expected to processed  
anyway because less compliant user agents that came before us (see also  
http://simon.html5.org/articles/mobile-results ) processed it too.)


-- 
Anne van Kesteren
http://annevankesteren.nl/

Received on Monday, 16 November 2009 13:33:29 UTC