Building an XML DTD
Now that we've emerged from the gory details of XML DTDs, let's see how they work by creating a simple example. You can create a DTD with any text editor and a clear idea of how you want to mark up your XML documents. You'll need an XML parser and processing application to actually interpret and use your DTD, as well as a stylesheet to permit XML-capable browsers to display your document.
An XML Address DTD
Let's create a simple XML DTD that defines a markup language for
specifying documents containing names and addresses. We start with an
address element, which contains
other elements that tag the address contents. Our address element has a single attribute
indicating whether it is a work or a home address:
<!ELEMENT address (name, street+, city, state, zip?)>
<!ATTLIST address type (home|business) #REQUIRED>
Voilà! The first declaration creates an
element named address that contains
a name element, one or more street elements, a city and state element,
and an optional zip element. The address element has a single attribute,
type, which must be specified and
can have a value of either home or
business.
Let's define the name
elements first:
<!ELEMENT name (first, middle?, last)>
<!ELEMENT first (#PCDATA)>
<!ELEMENT middle (#PCDATA)>
<!ELEMENT last (#PCDATA)>
The name element also contains other elements—a first name, an optional middle name, and a last name—each defined in the subsequent DTD lines. These three elements have no nested tags and contain only parsed ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access