[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: Must DTDs constrain order?
I have had to deal with this frequently. Here are several choices I've made at different times: 1. Express the {baz,bar,bang} information using attributes instead of elements. 2. As Soumitra said, use <!ELEMENT foo (bar | bat | bang)*> I would put a comment next to this, as well: <!-- no more than one of each of these, in any order --> 3. Do the combinatorial explosion yourself. You would probably also want to include a comment so human DTD readers can figure out what's going on without too much pain. <!-- foo must contain one of each of {bar,baz,bang} in any order --> <!ELEMENT foo ( (bar, ((baz,bang)|(bang,baz)) ) | (baz, ((bar,bang)|(bang,bar)) ) | (bang,((bar,baz) |(baz,bar)) ) ) > 4. Use SGML instead of XML for this application, and use "&". Ha Ha! Ok, I've never actually used SGML outside of XML. I was just kidding. -Wayne Steele >From: Soumitra Sengupta <soumitra@b...> >Reply-To: soumitra@b... >To: Michael Rossi <mrossi@c...> >CC: xml-dev@l... >Subject: Re: Must DTDs constrain order? >Date: Fri, 27 Oct 2000 10:56:54 -0700 > > > >Michael Rossi wrote: > > > Evan Lenz wrote: > > > > > > In a DTD, is it possible to not constrain order on a given set of >possible > > > elements, while still constraining quantity? > > > > > > For example > > > > > > <!ELEMENT foo (bar, bat?, bang*)> > > > > > > Can I somehow allow bar, bat, and bang to be in any order? I suspect >not > > > but would love to be corrected. > >I do not know what model you are planning to use but you could try the >following: > ><!ELEMENT foo (bar | bat | bang)*> > >It will not be unambiguous but will allow you to get it done. > >-- >Soumitra Sengupta, Ph.D. >Co-Founder and C.T.O. >B-Bop Associates Inc. >Phone: 650-340-2700 >Fax : 650-340-2701 >Email: soumitra@b... >http://www.b-bop.com > ><< soumitra.vcf >> _________________________________________________________________________ Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com. Share information about yourself, create your own public profile at http://profiles.msn.com.
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|