SchXslt 1.2 released
June 7, 2019
Submitted by David Maus.
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.
Enhancements 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 3.0.
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 documents attribute of the svrl:active-pattern element
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.