OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

   RE: [xml-dev] Create XML

[ Lists Home | Date Index | Thread Index ]

martin@dynamine.net (Martin Soukup) writes:
>> It is hard to write a DTD with elements which takes a somewhat
>> larger number of different child elements in arbitrary order but
>> each at most once or exactly once. For me, that's enough to
>> introduce an order constraint.
>
>It's not hard, just ugly:
>
>(for each child B, C, D at most once)
>
><!ELEMENT A
>((B)|(C)|(D)|(B,C)|(B,D)|(C,D)|(C,B)|(D,B)|(D,C)|(B,C,D)|(B,D,C)|(C,B,
>D)|(C,D,B)|(D,B,C)|(D,C,B)) >
>
>That said, this is enough to make order constraints required rather
>than useful, with 20 children this becomes so tedious the errors are
>almost guaranteed.

Doesn't that trip over the requirement at:
http://www.w3.org/TR/REC-xml#sec-element-content

"The content of an element matches a content model if and only if it is
possible to trace out a path through the content model, obeying the
sequence, choice, and repetition operators and matching each element in
the content against an element type in the content model. For
compatibility, it is an error if an element in the document can match
more than one occurrence of an element type in the content model."

Further explanation is at:
http://www.w3.org/TR/REC-xml#determinism

RELAX NG seems to have these kinds of problems under control, at least
for my purposes.

-- 
Simon St.Laurent
Ring around the content, a pocket full of brackets
Errors, errors, all fall down!
http://simonstl.com -- http://monasticxml.org




 

News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS