Re: Does DTD validation work with namespaces?
Norman Walsh wrote: > But to say that you can mix them "willy nilly" violates the principals > of validity at their core. That's a key point, I think. Roger Costello has argued very strongly that namespaced-vocabularies should have schema languages which are open by default rather than closed. The utility of the idea of "content model" almost disappears with open, namespaced schemas. What is important is not that a follows b*, but that information items which have a strong semantic cohesiveness should not get decoupled. In XML Schemas this is recognised by the availability of the different wildcards and the <any/> conplex type container (a bag operator, allowing some of the simplest functions of SGML's DTD's & operator). In Schematron, we throw away content models entirely. I would go further, and suggest that content models are actually bad in XML (in SGML they serve a lexical purpose for which they are well-suited): this is because we have anonymous groups and various arrangements which impose constraints but whose significance is not available. DTDs are great for removing constants to headers, for acting as big fat assert() statements as pre-conditions for data import, for simple fixed structures, and for ad hoc Q&D schema development when a 60/40% solution is good enough. But start adding namespace-awareness and I think they are being stretched far beyond their capabilities: if you add namespace-awareness the next stumbling block woudl be openness, as James and Norman are bringing out. I am unmatched in how much I like DTDs the same as everyone else who likes them more. But inventing new schema languages that either will affect validity (if the DTD is in the subsets) or which doesn't include datatyping (if the DTD is external and invoked by attribute or PI) don't seem very promising to me. If you want schemas that are namespace aware get behind RELAX, or integrate Schematron, or review and test XML Schemas against some nice big schemas, or implement proper SGML architectural forms processors, or get a project up to create some new schema language (e.g. what about a schema language that can cope with XSL-FO inheritence structures and xml:lang, and which handles whitespace normalization in a smarter way? or which can handle RDF abbreviated syntax)? DTDs have dimishing returns. In SGML Architecutral forms and Lexical Types Definition Requirements, SGML syntax was extended with some new types of markup declarations (e.g. <!LTDR ...>) which made the declarations non-SGML, and required a custom parser. This is definitely the wrong way to go! Rick Jelliffe
PURCHASE STYLUS STUDIO ONLINE TODAY!
Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!
Download The World's Best XML IDE!
Accelerate XML development with our award-winning XML IDE - Download a free trial today!
Subscribe in XML format