OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help



   Re: [xml-dev] how to make the order of elements in the DTD null n void

[ Lists Home | Date Index | Thread Index ]

W. Hugh Chatfield  I.S.P. scripsit:

> <!ELEMENT CompanyProfile ( Profile? | Promotion?)>
> each element is optional, will occur at most once, and any order
> is allowed.

In fact that permits a Profile, a Promotion, or neither, but does not
permit both.  In order to permit both, you cannot write:

	(Profile? Promotion? | Promotion? Profile?)

as you can in RELAX NG, due to the DTD unambiguity rule.  You must write
something like:

	(Promotion Profile? | Profile Promotion?)?

It's questionable, however, whether you want to allow this degree of
flexibility.  It does little or nothing for XML creators, and makes
the way of XML receivers more difficult than necessary.  Since there is
probably no semantic difference between a Profile followed by a Promotion
and a Promotion followed by a Profile, you might as well pick a fixed
order and stick to it, leading to the content model:

	(Promotion? Profile?)

Henry S. Thompson said, / "Syntactic, structural,               John Cowan
Value constraints we / Express on the fly."     cowan@ccil.org
Simon St. Laurent: "Your / Incomprehensible     http://www.reutershealth.com
Abracadabralike / schemas must die!"            http://www.ccil.org/~cowan


News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS