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

  • From: Jim Shain <Jim.Shain@a...>
  • To: "xml-dev@l..." <xml-dev@l...>
  • Date: Wed, 10 Jan 2001 15:59 -0600

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@r... (John Cowan) 
Sent: Wednesday, January 10, 2001 2:59 PM
To: Jim Shain
Cc: xml-dev@l...
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@r...>
no more / no less              || http://www.reutershealth.com
to do / all things             || http://www.ccil.org/~cowan
with art- / lessness           \\ -- Piet Hein

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