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 6626 6211 89 326 6504 0 122 6067 303 122 4707 225 1694
Streaming 2361 2199 108 54 2314 0 47 2 1 47 1 2 2358
Schema Awareness 584 0 0 584 557 0 27 0 0 27 391 130 63
Serialization 347 342 1 4 343 0 4 0 14 4 167 68 112
1.0 compatibility 113 112 0 1 112 0 1 107 5 1 107 4 2
Dynamic Evaluation 37 37 0 0 37 0 0 22 15 0 31 6 0
XPath 3.1 60 58 0 2 58 0 2 52 6 2 2 1 57
Higher Order Functions 365 289 72 4 362 0 3 2 5 3 189 73 103

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 6626 tests that should be passed by a processor claiming basic conformance.

Of these, 6459 (97.48%) were passed by at least two processors.

Streaming

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

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

Of these, 2198 (93.10%) 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.