SchXslt 1.2 »MarkupUK Edition«
David Maus, 7. Jun 2019
I am happy to announce the release of version 1.2 of SchXslt, an XSLT-based Schematron processor.
You can download this version SchXslt from its project page. Developers using SchXslt in a Java-based project can add or update the Maven artifact name.dmaus.schxslt.schxslt to version 1.2.
Heads up: The location of the XSLT stylesheets has changed. The stylesheets for the XSLT 2.0
compiler are moved from the directory
src/main/resources/xslt/2.0. The stylesheets of the XSLT 1.0 compiler reside in a
1.0 subdirectory accordingly.
Support for query language XSLT 3.0
SchXslt 1.2 adds support for the not-yet-standardized query language binding for XSLT 3.0. The 2.0 compiler
accepts the query language identifier token
xslt3 and creates a validation
stylesheet with the
version attribute set to
SchXslt 1.2 adds the templates
schxslt-api:validation-stylesheet-body-bottom-hook to the callback API. The former
contributes to the top of the validation stylesheet body, the latter to the bottom. Both are called with the
Schematron schema as sole argument.
Support for query language XSLT 1.0
SchXslt 1.2 ships with an XSLT 1.0 processor that creates XSLT 1.0 validation stylesheets. Due to the limitations of this version of XSLT the XSLT 1.0 processor has the following known limitations:
the include step is not performed recursivly; only includes from the primary schema document are replaced
the base URI of included external definitions is not preserved
the base URI of the primary schema document is not preserved
the URI of the primary source document is not included in the
documentsattribute of the
SchXslt 1.2 ships with XQuery modules for BaseX and eXist. The modules are packaged as EXPath packages. Both provide the function
schxslt:validate that performs Schematron validation and returns a SVRL validation report.
The packaged modules are available for download on SchXslt's page of releases.