[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: DTD Entity

  • From: Danny Vint <dvint@s...>
  • To: xml-dev@l...
  • Date: Sat, 10 Mar 2001 12:11:13 -0800

dtd entity
This was one of those simplifications from SGML that XML has taken. In SGML
there was the '&' and that allowed you to say A and B and C in any order
but only once.

XML Schemas have added this feature back into their content models.

..dan


At 02:50 PM 3/10/2001 -0500, Charles Reitzel wrote:
>I don't think you're missing anything.  It appears to be a limitation of the 
>DTD content model rules.  
>
>You might elaborate all the combinations:
>
><!ELEMENT Base ( First, 
>                 ( Second? | Third? | Fourth? 
>                   | (Second, Third) | (Third, Second) 
>                   | (Third, Fourth) | (Fourth, Third) 
>                   | (Second, Third, Fourth)
>                   | (Fourth, Second, Third)
>                   | (Third, Fourth, Second)
>                   | (Third, Second, Fourth)
>                   | ... you get the idea ...
>                 )
>               )
>>
>
>The problems w/ this are a) it runs the risk of becoming non-deterministic 
>(I can't tell by looking) and b) the number of combinations will explode 
>quickly with more child elements.
>
>As a practical matter, you'll have to choose.  If lack of order is most 
>important, go with ( First, (Second|Third|Fourth)* ).  If ordinality is most 
>important (0 or 1 vs. 0 or more vs. 1 or more), go with your original.
>
>take it easy,
>Charles Reitzel
>
>
>At 09:29 AM 3/10/01 -0500, you wrote:
>>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?
>
>
>take it easy,
>Charles Reitzel
>
>

---------------------------------------------------------------------------
Danny Vint
ACORD
dvint@a...
http://www.acord.org

Voice:510:522-4703
 FAX: 801-749-3229



            


PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
 

Stylus Studio has published XML-DEV in RSS and ATOM formats, enabling users to easily subcribe to the list from their preferred news reader application.


Stylus Studio Sponsored Links are added links designed to provide related and additional information to the visitors of this website. they were not included by the author in the initial post. To view the content without the Sponsor Links please click here.

Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.