DTD design
heiko.grussbach at crpht.lu
heiko.grussbach at crpht.lu
Wed Dec 22 10:11:17 GMT 1999
Hi,
I have the following problem, I want to define an element E that may
contain elements A,B,C. Order should be insignificant and A,B and C are all
optional. Furthermore, A,B and C may each be replaced by X.
The first example was simply like this:
<!ELEMENT E (
( A?, B? ) |
( B?, A? ) |
( A?, X? ) |
( B?, X? ) |
( X?, A? ) |
( X?, B? ) |
( X?, X? )
) >
My XML-editor (XMetal 1.2) reports an ambigous content model error. After carefully studying the appendix of the XML rec, and with some help
by the support of XMetaL , I came up with the following:
<!ELEMENT E (
EMPTY |
(A,(B|X)?) |
(B,(A|X)?) |
(X,(A|B|X)?)
)>
Is this the best solution?, What if there are more childs, like A,B,C,D etc. Wouldn't the DTD just explode?
Regards
Heiko Grussbach
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 unsubscribe, mailto:majordomo at ic.ac.uk the following message;
unsubscribe 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