The W3C HTML Working Group has released a first public Working Draft for Modularization of XHTML in XML Schema. The draft document "provides a complete set of XML Schema modules for XHTML, and describes a methodology for the modularization of XHTML using XML Schema. Modularization of XHTML allows document authors to modify and extend XHTML in a conformant way." XHTML modularization works for XML Schema modules in a fashion similar to XML DTDs, but there are some significant differences; these are articulated in the chapter "Schema Modularization Framework." The design goals for the modularization framework for XHTML are: (1) to create coherent sets of semantically related modules within the XHTML namespace using XML Schema; (2) to support the creation of subsets and supersets of XHTML for specific purposes such as handheld devices and special-purpose appliances; (3) to facilitate future development by allowing modules to be upgraded or replaced independently of other modules; and (4) to encourage and facilitate the reuse of common modules by developers."
Bibliographic information: Modularization of XHTML in XML Schema. Reference: W3C Working Draft 22-March-2001. Edited by Daniel Austin (Mozquito Technologies AG) and Shane McCarron (Applied Testing and Technology). Latest version URL: http://www.w3.org/TR/xhtml-m12n-schema. Available in HTML, Postscript, PDF, and .ZIP archive formats.
DTDs and XML Schema: "Both DTDs and XML Schema are designed to accomplish the same fundamental task: to define the structure of XML document types. In this sense both are simply different text representations for the same underlying data structures. However, Schema and DTDs differ significantly in several ways, both in structure and capabilities. Some differences worth noting are:
- Common XML features - XML Schema are XML documents themselves and therefore share many aspects of the languages they define.
- Data typing - schemas are designed with a much larger set of built-in data types than DTDs, and provide methods for creating user-defined types.
- Namespaces - DTDs only partially support XML Namespaces, which are inherently a part of XML Schema.
- Extension - XML Schema have a rich set of extension mechanisms including inheritance, redefinition, and substitution.
- Entities- there is no mechanism in XML Schema corresponding to the use of entities for data abstraction in DTDs. In many cases the functionality of entities can be replaced through other XML-based mechanisms. However, there is currently no support for named character entity references as used in XHTML within XML Schema.
- DTDs and Document Order Dependence - a more subtle feature of modularized DTDs is their dependence on the document order; the order in which elements and entities are defined within DTD files has a large impact on language development. XML Schema are far less dependent on document order."