Skip to Content
HTML & XHTML: The Definitive Guide, 6th Edition
book

HTML & XHTML: The Definitive Guide, 6th Edition

by Chuck Musciano, Bill Kennedy
October 2006
Intermediate to advanced
680 pages
21h 44m
English
O'Reilly Media, Inc.
Content preview from HTML & XHTML: The Definitive Guide, 6th Edition

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

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

HTML and CSS: Visual QuickStart Guide, 9th Edition

HTML and CSS: Visual QuickStart Guide, 9th Edition

Joe Casabona

Publisher Resources

ISBN: 0596527322Errata Page