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

  • From: Richard Knapp <warped_user@y...>
  • To: "xml-dev@l..." <xml-dev@l...>
  • Date: Sat, 10 Mar 2001 09:29:34 -0500 (EST)

Since it isn't quite dead yet (just mortally wouned), I have a question DTD Elements.

Note: Beginner's question is being posed. Please excuse any cases of gross lack of knowledge.

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.

The original statement in my DTD was

<!ELEMENT Base (First, Second?, Third?, Fourth?)>

Which imposes an order constraint on the elements. It was suggested that

<!ELEMENT Base (First (Second|Third|Fourth)?)>

was more correct. However, this appears it will allow only Second, Third, _or_ Fourth element, not all three. Is 
this correct?

Conversely:

<!ELEMENT Base (First (Second|Third|Fourth)*)>

seems to allow enough elements (zero or one of each) but also allows more than one.

Is there a good way to address this situation or is this a limit of DTDs? Do Schemas handle this any better?

Again, thank you for you patience.

	- Richard



_________________________________________________________

Do You Yahoo!?

Get your free @yahoo.com address at http://mail.yahoo.com




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