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

  • From: Marcus Carr <mrc@a...>
  • To: Jim Shain <Jim.Shain@a...>
  • Date: Thu, 11 Jan 2001 08:28:52 +1100


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 possible
> to determine whether or not D is required."

That's corrrect - the content model is illegal because it is non-deterministic. The
intent is preserved in a legal model by changing it to:

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


--
Regards,

Marcus Carr                      email:  mrc@a...
___________________________________________________________________
Allette Systems (Australia)      www:    http://www.allette.com.au
___________________________________________________________________
"Everything should be made as simple as possible, but not simpler."
       - Einstein



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