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 document, like this:

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

However, this is not a valid document because I haven't declared the <CUSTOMER> element yet. I'll do that next .



Real World XML
Real World XML (2nd Edition)
ISBN: 0735712867
EAN: 2147483647
Year: 2005
Pages: 440
Authors: Steve Holzner

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net