Mixing XHTML into Your Applications
The advantage to dividing HTML into all these different modules is that you can pick and choose the pieces you want. If your documents use tables, include the Tables module. If your documents don’t use tables, then leave it out. You get only the functionality you actually need.
For example, let’s suppose you’re designing a DTD for a
catalog. Each item in the catalog is a catalog_entry
element. Each catalog_entry
contains a name
, price
, item_number
, color
, size
, and various other common elements
you’re likely to find in catalogs. Furthermore, each catalog_entry
contains a description
of the item. The description
contains formatted narrative
text. In other words, it looks something like this:
<catalog_entry> <name>Aluminum Duck Drainer</name> <price>34.99</price> <item_number>54X8</item_number> <color>silver</color> <size>XL</size> <description> <p> This sturdy <strong>silver</strong> colored sink stopper dignifies the <em>finest kitchens</em>. It makes a great gift for </p> <ul> <li>Christmas</li> <li>Birthdays</li> <li>Mother's Day</li> </ul> <p>and all other occasions!</p> </description> </catalog_entry>
It’s easy enough to write this markup. The tricky part is validating it. Rather than reinventing a complete DTD to describe all the formatting that’s needed in straightforward narrative descriptions, you can reuse XHTML. The XHTML 1.1 DTD makes heavy use of parameter entity references to define content specifications and attribute lists for the ...
Get XML in a Nutshell, 3rd Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.