[Home] [By Thread] [By Date] [Recent Entries]
There are a lot of ideas popping up for making DTDs namespace aware/compatabile. I had another thought though that des involve breakage: What if you could label the namespace of an entity? Then, similar to XML Schema and other schema languages you could label the "targetNamespace" of an entity: <?xml version="1.1"?> <!DOCUMENT root NAMESPACE "http://www.example.org/" [ <!ELEMENT root EMPTY> ]> <prefix:root xmlns:prefix="http://www.example.org/"/> Here I have defined the namespace for the DTD/document entity in the Document Type Declaration. Obviously prefix information in this idea is syntax sugar. This only allows the declaration of a single namespace within a DTD-- however <claim kind="shaky">most documents which use multiple namespaces have a DTD comprised of multiple sources-- usually using parameter entities.</claim> Therefore, if you can label the namespace of a parameter entity then you can effectively do an import of items declared in another namespace. So the idea requires two changes to DTD syntax (well-formedness): ability to define namespaces in the DTDeclaration and in a PE declaration. However validation based on this model significantly changes. The biggest change is neding to track what namespace an element or attribute was declared in. Just an idea... Jeff Rafter
|

Cart



