Why doesn't XML have Bag?

Lars Marius Garshol larsga at ifi.uio.no
Fri Mar 26 14:38:02 GMT 1999

* Roger L. Costello
| Then let me ask another question - why do DTDs not allow me to specify
| an unordered list of elements?  For example, 
| <!ELEMENT Kitchen RDF:Bag(Sink, Stove, Refrigerator)>
| With this notation I am trying to indicate that an XML document that
| conforms to this DTD must have a <Kitchen> element which has three child
| elements - <Sink>, <Stove>, and <Refrigerator>, and these child elements
| can be in any order.  Isn't this a useful thing? 

Sure it is, and SGML has it already:

<!ELEMENT Kitchen (Sink & Stove & Refrigerator)>

| I gather from your message that you are saying that it is not a
| limitation of XML, but rather a limitation of DTDs?  

It is a limitation of DTDs and was introduced because without this
operator element content models are easily mapped to finite state
automatons, but the introduction of the '&' separator makes automaton
generation much more difficult.

Existing SGML parsers already do this, and there are some research
papers giving algorithms for this, but the designers felt that this
was one of the things that would have to go in the simplification from

| How about DCDs?

DCDs have no official standing, they're just a proposal to the W3C.
XML Schemas, when they are defined, may (or may not) have this for all
I know. If they do we might as well add it to DTDs too.

--Lars M.

xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at ic.ac.uk
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/ and on CD-ROM/ISBN 981-02-3594-1
To (un)subscribe, mailto:majordomo at ic.ac.uk the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo at ic.ac.uk the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at ic.ac.uk)

More information about the Xml-dev mailing list