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

 


Help: OASIS Mailing Lists Help | MarkMail Help

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: DTD and Illegal Construct



Thank all of you for the input.  Is there a place on the web that discusses this
pitfall and potential others like this one?  Most XML books don't discuss this
much.

-Jim

-----Original Message-----
From: jcowan@reutershealth.com (John Cowan) 
Sent: Wednesday, January 10, 2001 2:59 PM
To: Jim Shain
Cc: xml-dev@lists.xml.org
Subject: Re: DTD and Illegal Construct


Jim Shain wrote:

> I wanted to run this past some knowledgeable people.  Is the following a legal
> or illegal construct for an element in a DTD?
>
>  <!ELEMENT Request ((A, B, C?) | (A?, B, C?, D))>
>
> Some have stated that it is illegal because "When A is present it isn't possib
le
> to determine whether or not D is required."

Correct.  Here is a correct declaration that does what you want:

<!ELEMENT Request ((A, B, C?, D?) | (B, C?, D))>

--
There is / one art             || John Cowan <jcowan@reutershealth.com>
no more / no less              || http://www.reutershealth.com
to do / all things             || http://www.ccil.org/~cowan
with art- / lessness           \\ -- Piet Hein