Child Element Lists

Besides using the content model of ANY, you can specify that the element you're declaring contains another element by giving the name of that element in parentheses, like this:

<?xml version = "1.0" standalone="yes"?> 
<!DOCTYPE DOCUMENT [
<!ELEMENT DOCUMENT (CUSTOMER)*>
]>
<DOCUMENT>
    .
    .
    .
</DOCUMENT>

In this case, I'm indicating that the root element, <DOCUMENT>, can contain any number (including zero) of <CUSTOMER> elements. (The way I specify that the <DOCUMENT> element can contain any number of <CUSTOMER> elements is with the asterisk after the parentheses, and we'll see how that works in a page or two.)

The <DOCUMENT> element can contain any number of <CUSTOMER> elements, so I can now add a <CUSTOMER> element to the ...

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.