SchXslt 1.2 »MarkupUK Edition«
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
to
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
.
Callback API
SchXslt 1.2 adds the templates schxslt-api:validation-stylesheet-body-top-hook
and
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 thesvrl:active-pattern
element
XQuery modules
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.