Re: [schemas] non-deterministic content model avoidance
> 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. If you write the Schematron schema for that purpose, yes it could be used to guide editing. Imagine an editor that filters out messages except those relating to the most recent element (or that only checks assertions where the context node matches the current element). Then we have the schema: <sch:phase name="guidance"> <sch:active pattern="edit"/> </sch:phase> ... <sch:pattern id="edit"> <sch:rule context="page/*"> <sch:report test="position() mod 2 = 0" > An "odd" tag can be inserted after this element. </sch:report> <sch:report test="position() mod 2 = 1" role="edit"> An "even" tag can be inserted after this element. </sch:report> </sch:rule> <sch:rule context="page> <sch:report test="true()" role="edit" > The first tag allowed is "odd". </sch:report> </sch:rule> </sch:pattern> Note that for validation with Schematron you don't need to try to express the grammar: that is putting the cart before the horse. So rather than trying to say "You can have zero or more Odd each followed by an Even, with an optional Odd at the end" you say "the page is empty, or starts with an odd; only odds follow evens; only evens follow odds" <sch:pattern id="sequences"> <sch:rule context="page"> the page is empty, or starts with an odd; only odds follow evens; only evens follow odds"
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