XSLT 3.0 Test Results

Test results were submitted for the following processors:

  1. Exselt is a new XSLT 3.0 processor developed by Abrasoft. The company is owned by Abel Braaksma, who is a member of the XSL Working Group. Tests were run against a development snapshot of the product.

  2. Saxon 9.8 is the forthcoming version of the commercial Saxon-EE/J product for the Java platform, produced by Saxonica. The company is owned by Michael Kay who is a member of the Working Group and editor of the specification. Tests were run on against a development snapshot of the product.

  3. Saxon-JS is an implementation of XSLT 3.0 written in Javascript designed to run in the browser, also from Saxonica. The product shares a front end with Saxon-EE/J, but the back end (run-time) was developed independently from scratch. The results reported here were obtained using the Nashorn Javascript engine; results on other platforms vary slightly, depending on the level of JS6 and Unicode support.

  4. Parrot is a pseudonym for a product produced by a company that is not a member of the Working Group. The product implements the 2015 Candidate Recommendation rather than the 2017 version. The test results were obtained by a member of the working group and are incomplete.

Category # of Tests Exselt Saxon-9.8 Saxon-JS Parrot
Passed Failed Not Run Passed Failed Not Run Passed Failed Not Run Passed Failed Not Run
Basic Conformance 6588 6293 89 206 6586 0 2 6123 329 2 4768 236 1584
Streaming 2313 2197 108 8 2312 0 1 0 0 1 0 1 2312
Schema Awareness 557 0 0 557 557 0 0 0 0 0 391 130 36
Serialization 331 330 1 0 331 0 0 0 0 0 162 66 103
1.0 compatibility 68 68 0 0 68 0 0 64 4 0 67 1 0
Dynamic Evaluation 37 37 0 0 37 0 0 22 15 0 31 6 0
XPath 3.1 58 58 0 0 58 0 0 52 6 0 2 1 55
Higher Order Functions 355 282 72 1 355 0 0 0 0 0 183 72 100

Note: This table omits all tests with multiple dependencies. For example a test that requires support for both streaming and schema awareness will not appear in either the streaming or schema awareness categories.

Report against Success Criteria

The transition criteria published in the Candidate Recommendation are:

To demonstrate achievement of the criteria for transition to Proposed Recommendation the Working Group plans to provide evidence of two independent and substantially complete implementations of the basic XSLT processor conformance level as well as the optional streaming feature, and at least one substantially complete implementation of other optional features defined in 27 Conformance.

Basic Conformance

...two independent and substantially complete implementations of the basic XSLT processor conformance level

There are 6588 tests that should be passed by a processor claiming basic conformance.

Of these, 6541 (99.29%) were passed by at least two processors.

Streaming

...two independent and substantially complete implementations of the optional streaming feature

There are 2313 tests that should be passed by a processor implementing the optional streaming feature.

Of these, 2196 (94.94%) were passed by at least two processors.

Other optional features

The optional features defined in the specification (apart from Streaming) are:

As demonstrated by the figures above, the target to demonstrate

... at least one substantially complete implementation of other optional features defined in 27 Conformance.

has been comfortably achieved.