Of DTDs, Namespaces, and Schemas for XML
By Ed Tittel
XML Schemas represent the final element of this unholy trinity. Schemas (or should that be Schemata?) allow XML developers to (a) permit XML documents to be defined using standard XML notation (rather than SGML as with DTDs, or relying on other definitions elsewhere, as with namespaces) and (b) provide a way to combine DTDs, namespaces, and external schemas within document definitions for which the developers plan to enable mechanical validation. Presto! The best of all three worlds.
Of course, XML Schemas are still under development and their final form and capabilities are still in flux. The W3C published working drafts that described Schema structures and data types in May of 1999, and has been working feverishly to deliver a new set of drafts ever since. Suffice it to say that schemas are controversial, complex, and more than just a little bit interesting. But the jury's still out on where this initiative is headed and exactly what it's going to do for the XML developer community.
My favorite resources on XML Schemas include:
- Norman Walsh, another member of the SGML/XML pantheon, wrote a wonderful paper for XML.com called "Schemas for XML," that not only covers the territory, but also gives great pointers to other important resources on the topic. For once, I could get away with a single reference on the subject. (http://www.xml.com/pub/1999/07/schemas/index.html);
- For a sense of the controversy and conversation surrounding Schemas, check out Leigh Dodd's paper "Spotlight on Schemas" published in February, 2000. (http://www.xml.com/pub/2000/02/23/xmldeviant/index.html);
- The W3C's "XML Schema Part 0: Primer" is probably the best description of what XML schemas are and how to build them according to the thinking that prevailed at the time the document was written (April, 2000). Worth reading, even if it may not be realized as written here. (http://www.w3.org/TR/xmlschema-0/).
Where schemas are concerned, all I can say is "Stay tuned for further details!" But while the jury's still out on this topic, the tools and techniques for defining XML documents are improving all the time. Acquaint yourselves with these topics, and get to work!
Ed Tittel is a principal at LANWrights, Inc.: a wholly owned subsidiary of LeapIt.com. LANwrights offers training, writing and consulting services on Internet, networking, and Web topics, plus various IT certifications (Microsoft, Sun/Java, Prosoft/CIW).