BALI: In Memoriam

Oleg Tkachenko wrote:


Well, schematron is extremely simple while powerful rule-based schema language, see the overview [1]. I'd say if you know xslt and xpath, you know schematron.
For example, consider the following xsl constraint:
"It is an error if the fo:footnote occurs as a descendant of a flow that is not assigned to a region-body".
In a pull model, as distinct from the peephole processing model encouraged by SAX, this is easy, because you know where you are at all times; e.g., whether you are within an fo:flow, or more specifically, whether you are descending within an "out-of-line" formatting object. If you are, then you know that any fo:footnote or fo:float you encounter is illegal, and you can say why.

I like pull parsing model in general, but how do you manage with not such strict content model as fo:root have, e.g. fo:block with (#PCDATA|%inline;|%block;)* ?
This basically says, "Anything," so it is also easy. Just get the next event and apply any special processing constraints, like checking for
footnote and float in "out-of-line" areas.

"Lord, to whom shall we go?"

To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]

Reply via email to