XSpec v3.0.3 Released

April 17, 2024

Submitted by Amanda Galtman.

We are pleased to announce the release of XSpec v3.0.3, the open source unit test and behaviour-driven development framework for XSLT, XQuery, and Schematron.

These are the highlights:

Common to Languages Under Test

  • XSpec is tested with Saxon 12, 11, and 10, while use of Saxon versions earlier than 12.4 is not recommended.
  • XSpec no longer supports Saxon 9.
  • When comparing XML, you can ignore some or all attributes using three-dot syntax x:attrs="...".
  • XPath function items stored in global variables are testable using syntax <x:call function="my-function" call-as="variable">.


  • XSLT code coverage feature is compatible with Saxon 12.4. Compatibility note: This upgrade is not backward compatible with earlier Saxon versions. Also, Saxon 12.4 does not report some xsl:sequence instructions that are actually hit.
  • XSpec experimentally supports testing with XSLT 4.0 and XPath 4.0. Set xslt-version="4.0" on x:description, and use an XSLT processor that has support for 4.0 enabled.


  • XSpec experimentally supports testing with XQuery 4.0 and XPath 4.0. Set xquery-version="4.0" on x:description, and use an XQuery processor that has support for 4.0.


  • SchXslt 1.9.5 replaces the skeleton implementation because the latter is no longer maintained. Compatibility note: Some XSpec tests might produce different results with SchXslt.
  • XSpec scenarios can verify the text of messages or diagnostics. Add expected text inside x:expect-assert or x:expect-report.

Many thanks to all the XSpec contributors who made this release possible! They are listed in the release notes.


News items may be commercial in nature and are published as received.