[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: DTD Entity
- From: firstname.lastname@example.org
- To: email@example.com
- Date: Sat, 10 Mar 2001 15:19:00 -0500 (EST)
Richard Knapp scripsit:
> We are working on DTD with the following requirement:
> - Base element consists of Child elements First, Second, Third, and Fourth.
> - First must appear under Base.
> - Second, Third, and Fourth may appear zero or one time.
> - Order is not important for elements Second, Third, and Fourth.
(First, ((Second, ((Third, Fourth?) | (Fourth, Third?))?) |
(Third, ((Second, Fourth?) | (Fourth, Second?))?) |
(Fourth, ((Second, Third?) | (Third, Second?))?)
will do what you want. Yes, it's verbose, and it doubles in length every time
you add a new optional element. But it works.
That said, you should probably just impose a fixed order, and go with
(First, Second?, Third?, Fourth?)
BTW, Charles Reitzel's straight enumeration *is* non-deterministic,
so it won't work.