Skip to content
David Maus M. A.

Release of SchXslt version 1.3 »TEI Conference Edition«

David Maus, 17. Sep 2019

I am pleased to announce the release of SchXslt 1.3, a modern XSLT-based Schematron processor.

You can download this version SchXslt from its project page. This version of SchXslt als marks the release of SchXslt CLI, a Schematron commandline application written in Java.

Java users beware: The Java classes now live in a separate repository and as a separate Maven artifact. They follow their own versioning scheme and have a declared runtime dependency on SchXslt 1.2 or higher. The two artifacts are name.dmaus.schxslt.schxslt (the XSLT stylesheets) and (the Java classes).

Please update your build files accordingly and sorry for the inconvenience!


  • (Issue 72) Global variables are implemented as xsl:param elements whose values can be passed to the validation stylesheet.

  • (Issue 71) The SVRL reports locations of failed assertions and successful reports using URIQualifiedNames.

  • (Issue 66) Inclusion of external definitions via sch:include and sch:extends is now performed recursively by the XSLT 1.0 processor as well.

  • (Issue 62) The XSLT 2.0 processor terminates with error codes.

  • (Issue 58) The XSLT 2.0 validation stylesheet reports shadowed rules in a pattern with a xsl:message and a comment in the SVRL report.

Fixed bugs

  • (Issue 68 & 67) Fixed a bug where the XSLT 1.0 compiler entered an infinite loop when copying properties and diagnostics.

  • (Issue 70) Fixed a bug where the XSLT 1.0 compiler wrongly copied properties as diagnostic references to the SVRL.

  • (Issue 67) Fixed the implementation of the sch:name/@path attribute in the XSLT 1.0 validation stylesheet.

  • (Issue 65) Fixed a bug where the XSLT 2.0 validation stylesheet wrongly reported the URI of the schema and not the validated document in the svrl:active-pattern/@documents attribute.

  • (Issue 64) In some places the XSLT 2.0 processor did not handle the case where the base URI of a schema might is not available.

  • (Issue 63) Fixed a bug in the Java class that caused the CompilerFactory to abort if the schema contained a comment or pi before the outermost element.