Why doesn't XML have Bag? Uh, "set"

Roger L. Costello costello at mitre.org
Fri Mar 26 14:04:01 GMT 1999


Thanks Dave for clarifying terminology.  It is "set" that I meant, not
"bag".  Just to make certain that I understand, an XML DTD cannot
express the following:

"A <Kitchen> element contains exactly three child elements: one instance
of <Sink>, one instance of <Stove>, and one instance of <Refrigerator>,
and these child elements can appear in any order."

Correct?  /Roger

P.S. Attributes can be listed in any order in an XML document,
regardless of the order that they are listed in the DTD.  Right?

David Megginson wrote:
> 
> 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