The World Wide Web Consortium (W3C) today announced two working drafts for Extensible Markup Language (XML) schemas. Schemas are designed to replace document type definitions (DTDs), which currently do the work of telling computers how to interpret various XML vocabularies.
"This is going to be a new medium of exchange on the Web," said the consortium's XML activity lead, Dan Connolly. "When you want to document how your system works so the rest of the people in your team can use it, this is the technology you're going to use. For business-to-business communications, and every place people are exchanging documents, you have to describe how they're doing it. This is an important piece of that puzzle."
XML is a metalanguage, or a language that lets developers create their own industry- or topic-specific languages for the Web. Developers can create XML tags specific to the requirements of a document about a science or for a purchase order, for example.
But since there will be a limitless expansion of XML-based languages, each one requires some sort of instruction manual a computer can consult to figure out how to interpret the various tags. Currently, that is the work of the DTD. But schemas will be a big improvement, according to the W3C.
"XML schemas are more powerful than a DTD because they're able to express rules that DTDs can't," said Connolly.
DTDs have been in use with XML's parent language, Standard Generalized Markup Language (SGML), since the 1960s, Connolly noted, adding that they are overdue for an update.
"If you want to specify that this part should be for the price of something, that's not expressible in XML DTDs," Connolly said. "If you want an XML element to correspond to a class name in a C++ or Java application, DTDs can't do that."
Another advantage of schemas over DTDs is that they are written in XML. That makes it easier to integrate parts of various schemas. Similar integration is a headache with DTDs.
The W3C already has an effort under way to facilitate this type of integration with its XML namespaces recommendation. Namespaces let browsers interpret more than one XML-based language in a single document without confusing different elements with the same tag names.
"Namespaces address part of the problem," said Connolly. "Schemas are looking at how you mix and match structures from different places. Namespaces allow you to disambiguate the elements. Namepsaces and schemas will be used in conjunction with each other."
Meanwhile, the Web hasn't seen the last of DTDs, at least not yet.
"They'll slowly start to disappear," Connolly predicted. "Old technologies never die--they just fade away."