Why don't namespaces support DTDs?

by Michael Day

It is a truth universally acknowledged that "DTDs don't support namespaces". Or to be a little more pedantic, that DTDs don't support namespaces in their full generality. However, one might as well say that XML 1.0 does not support namespaces. Given that the specification of Namespaces in XML augments XML 1.0, it seems more reasonable to ask why don't namespaces support DTDs?

2 Comments

David Carlisle
2007-04-23 03:04:21
A couple of related postings with similar suggestions.


http://lists.xml.org/archives/xml-dev/200206/msg00449.html


http://www.mulberrytech.com/Extreme/Proceedings/html/2003/Gessa01/EML2003Gessa01.html


I suppose it may still make it into ISO/IEC 19757-9 one day but


http://www.iso.org/iso/en/CatalogueDetailPage.CatalogueDetail?CSNUMBER=41009&scopelist=ALL


isn't exactly encouraging! Meanwhile there's Relax NG.

Michael Day
2007-04-23 03:17:18
It's interesting that both of those proposals extend the DTD syntax instead of subsetting it, leading to incompatibilities with existing parsers. Perhaps this is because they are trying to add support for datatyping as well, which is more difficult (impossible?) to support transparently.


Frankly, I think that people who need datatyping are more than willing to use newer schema languages (XSD, RELAX NG), and that namespace support for DTDs from the beginning would have been much more beneficial -- past tense unfortunately, because as with most XML permathreads that ship has long sailed.