[Home] [By Thread] [By Date] [Recent Entries]

  • From: Michael Rossi <mrossi@c...>
  • To: xml-dev@l...
  • Date: Fri, 27 Oct 2000 13:30:47 -0400

Evan Lenz wrote:
> 
> In a DTD, is it possible to not constrain order on a given set of possible
> elements, while still constraining quantity?
> 
> For example
> 
> <!ELEMENT foo (bar, bat?, bang*)>
> 
> Can I somehow allow bar, bat, and bang to be in any order?  I suspect not
> but would love to be corrected.

	In an SGML DTD you would do this with the "&" operator.
Unfortunately, XML has dropped the "&" in the interest of simplicity (that
is, simplicity of parser implementation). Maybe now that we're all
sophisticated enough to handle XML Schemas, we should bring back the "&" in
DTDs. :-) But I digress.

	It might still be theoretically possible to model this in XML DTDs
if you did something more sophisticated like:

<!ELEMENT foo ( (bar, bat?, bang*) | (bat?, bar, bang*) | (bang*, bar, bat?)
... )>

But I SERIOUSLY doubt this could be done unambiguously for all possible
combinations, and as you can see would quickly become far to complex a
solution for all but the simplest content models. Sorry.

Michael A. Rossi
Computer Sciences Corporation
mailto:mrossi@c...
856-983-4400 x4911

Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member