| To many XML believers and purists, there’s been a canker at the heart of the beautiful rose that is XML since its very inception. Worse still, some believe that canker was put there by design. That canker is, of course, the Document Type Definition, or DTD, that defines the very essence of XML. DTDs are “foreign imports” based on an older, more complex markup metalanguage called the Standard Generalized Markup Language, otherwise known as SGML.
Why would some characterize this apparently innocuous SGML DTD as a “canker at the heart of the beautiful rose”? you might ask. Perhaps it’s because SGML uses its own different (and complex) syntax and structures to define markup and document structures. Perhaps it’s because SGML is a bear to learn and a monster to master. Perhaps it’s simply because XML should be capable of defining itself, given its nearly universal capabilities to capture and represent data and metadata of all kinds.
To the most ardent XML lovers, XML Schema is the perfect replacement for the SGML canker that would otherwise stay in XML’s heart. This is because XML Schema lets you use XML structure, syntax, namespaces, and all the other appurtenances you’ll find in the XML environment to define XML documents, not just to express particular document instances.
Of course, not everyone agrees that SGML DTDs are evil, and not everyone thinks that XML Schema should replace SGML DTDs altogether. Each of these document definition technologies has its strengths and weaknesses, and each is particularly suitable for certain applications. Then, too, SGML’s been around for nearly 20 years, and XML Schema is less than a year old as a standard, less than 3 years in its current making. Thus, experience and knowledge weigh more heavily on the SGML DTD side than on the XML Schema side—at least for the time being. Within the ins and outs of these technologies, and in the details that make XML Schema such a powerful and capable tool, lie the seeds of XML documents, data structures, applications, and information exchanges as yet unknown. We hope to map out this strange and wonderful territory and compare the major XML metadata alternatives in a way that permits content creators and software developers to make the best of both of these worlds. |