E. Developing DTDs with defined and extended
This section is informative.
The primary purpose of defining XHTML modules and a general modularization methodology is
to ease the development of document types that are based upon XHTML. These document
types may extend XHTML by integrating additional capabilities (e.g., [SMIL] [p.171] ), or they
may define a subset of XHTML for use in a specialized device. This section describes the
techniques that document type designers must use in order to take advantage of the XML DTD
implementation of this modularization architecture. It does this by applying the XHTML
Modularization techniques in progressively more complex ways, culminating in the creation of a
complete document type from disparate modules.
Note that in no case do these examples require the modification of the XHTML-provided module
file entities themselves. The XHTML module file entities are completely parameterized, so that it
is possible through separate module definitions and driver files to customize the definition and
the content model of each element and each element's hierarchy.
Finally, remember that most users of XHTML are not expected to be DTD authors. DTD authors
are generally people who are defining specialized markup that will improve the readability,
simplify the rendering of a document, or ease machine-processing of documents, or they are
client designers that need to define the specialized DTD for their specific client. Consider these
An organization is providing subscriber's information via a Web interface. The organization
stores its subscriber information in an XML-based database. One way to report that
information out from the database to the Web is to embed the XML records from the
database directly in the XHTML document. While it is possible to merely embed the records,
the organization could define a DTD module that describes the records, attach that module
to an XHTML DTD, and thereby create a complete DTD for the pages. The organization can
then access the data within the new elements via the Document Object Model [DOM]
[p.169] , validate the documents, provide style definitions for the elements that cascade
using Cascading Style Sheets [CSS2] [p.169] , etc. By taking the time to define the structure
of their data and create a DTD using the processes defined in this section, the organization
can realize the full benefits of XML.
An Internet client developer is designing a specialized device. That device will only support
a subset of XHTML, and the devices will always access the Internet via a proxy server that
validates content before passing it on to the client (to minimize error handling on the client).
In order to ensure that the content is valid, the developer creates a DTD that is a subset of
XHTML using the processes defined in this section. They then use the new DTD in their
proxy server and in their devices, and also make the DTD available to content developers
so that developers can validate their content before making it available. By performing a few
simple steps, the client developer can use the architecture defined in this document to
greatly ease their DTD development cost and ensure that they are fully supporting the
- 65 -
E. Developing DTDs with defined and extended modules
Modularization of XHTML