Why doesn't XML have Bag?

David Megginson david at megginson.com
Fri Mar 26 13:42:19 GMT 1999


Roger L. Costello writes:

 > Why doesn't XML support the notion of an unordered list of elements,
 > i.e., a Bag?  Perhaps this is a limitation of DTD, not XML?  That is,
 > DTDs do not support Bags, but XML has no such inherent limitation?  Does
 > DCD support Bags?  /Roger

XML DTDs can constrain the content of a bag just fine:

  (a|b|c|d|e|f)*

XML DTDs cannot constrain the content of a set (where each element may 
appear exactly once, in any order).  This is not an SGML DTD
limitation, since in SGML you can use

  (a&b&c&d&e&f)

You can simulate this in XML DTDs, but the content models become
absurdly large.

This is not to say that you cannot have a set in XML even *with* DTD
validation; it's just that DTD validation will not catch the errors.
For example, either

  (a|b|c|d|e|f)*

or even

  ANY

will allow a set, but they will not catch the error where the same
element appears twice.


All the best,



David

-- 
David Megginson                 david at megginson.com
           http://www.megginson.com/

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