Inasmuch as it’s something that people ask for, I demoed in the DemoJam at XML Prague that I’d been working on a Relax NG schema and Schematron rules for validating XSL-FO. Most of both the schema and the Schematron were generated directly from the XML source for the XSL 1.1 Recommendation. Additionally, the Schematron used a parser written in XSLT for handling the XSL-FO expression language, so the Schematron could evaluate property values rather than just matching on property value strings.
There was also an oXygen add-on framework in the works, and, naturally, the schema and Schematron also covered Antenna House extensions.
If you look at the screenshot, you’ll see:
- Schematron error for the interrelated
- No error for ‘
column-count="-1 - -2"‘ because the value evaluates as a positive integer.
- oXygen ‘tooltip’ information for
fo:blockextracted from the XML for the XSL 1.1 Recommendation.
- The ‘neutral’ and ‘out-of-line’ formatting objects, as well as the XSL 1.1 ‘point’
fo:change-bar-endformatting objects that can appear anywhere inside a
fo:flow, are available where they are allowed.
- Schematron error for the invalid