Creating Document Type Definitions

To introduce DTDs, I'll start with a DTD that's internal to the document whose syntax it specifies (we'll see how to create external DTDs later in the chapter). In this case, the DTD itself goes inside the square brackets in the <!DOCTYPE> element (note that I've set the standalone attribute to yes here because this document does not rely on any external resources):

<?xml version = "1.0" standalone="yes"?> 
<!DOCTYPE DOCUMENT [
<!ELEMENT DOCUMENT (CUSTOMER)*>
					<!ELEMENT CUSTOMER (NAME,DATE,ORDERS)>
					<!ELEMENT NAME (LAST_NAME,FIRST_NAME)>
					<!ELEMENT LAST_NAME (#PCDATA)>
					<!ELEMENT FIRST_NAME (#PCDATA)>
					<!ELEMENT DATE (#PCDATA)>
					<!ELEMENT ORDERS (ITEM)*>
					<!ELEMENT ITEM (PRODUCT,NUMBER,PRICE)>
					<!ELEMENT PRODUCT (#PCDATA)> ...

Get Real World XML 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.