[
Lists Home |
Date Index |
Thread Index
]
- To: xml-dev@lists.xml.org
- Subject: [schemas] non-deterministic content model avoidance
- From: Philippe Poulard <Philippe.Poulard@sophia.inria.fr>
- Date: Tue, 07 Sep 2004 19:29:06 +0200
- Newsgroups: comp.text.xml
- User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.2) Gecko/20040806
hi,
i try to design a schema language, and i encoutered the famous
well-known problem :
valid documents are :
<page></page>
<page><odd/></page>
<page><odd/><even/></page>
<page><odd/><even/><odd/></page>
<page><odd/><even/><odd/><even/></page>
<page><odd/><even/><odd/><even/><odd/></page>
etc...
invalid documents are :
<page><odd/><odd/></page>
<page><odd/><even/><odd/><odd/><even/></page>
<page><odd/><even/><odd/><even/><even/></page>
<page><even/></page>
to express the constraints, we could write :
(odd, even)*, odd?
but it is invalid in DTD because of the violation of the
"non-deterministic content model" rule
as you know, this problem is unresolvable because it is an unambiguous
pattern which is not deterministic and can't be rewritten in a
deterministic form (i picked it from the Eric's relax book)
my schema language can express such a content model (4 lines) without
looking forward, but i'd like to know if :
-it is possible with W3C XML Schemas ?
-it is possible with Relax NG ?
additionally, i'd like to know whether Schematron can be used for
editing purposes or not (i don't think so), that is to say if one can
predict if an element is available with a given context, for example.
thanks for your help
--
Cordialement,
///
(. .)
-----ooO--(_)--Ooo-----
| Philippe Poulard |
-----------------------
|