Third party source components
These tables list components in Category B as described above: open source code that has been integrated at source level, without the involvement of the original author.
Unlike contributed code, this code was not written specifically for inclusion in Saxon, but was originally published under some other license.
B3 Apache Jakarta Regexp engine
Saxon includes a regular expression engine derived from the Apache Jakarta Regexp project, which was originally developed by Jonathan Locke. It has been extensively modified to make the syntax and semantics conform to the W3C specifications, to fully support Unicode, to improve performance, and to integrate with Saxon.
|
Origin |
Apache (author Jonathan Locke) |
|
Description |
Regular Expression engine |
|
Approximate LOC |
2600 |
|
Saxon packages / modules |
Package |
|
Modifications |
Substantial modifications to implement the XSD and XPath regular expression syntax and semantics, to add Unicode support, to improve performance, and to integrate with the rest of the Saxon code. |
|
Availability of source |
http://jakarta.apache.org/regexp/ |
|
Source version used |
Version 1.5 |
|
License |
Apache License, version 2.0 |
B5 Apache Commons Blake3 hashing
Saxon's implementation of BLAKE3, used to support the XPath 4.0 fn:hash function, is derived from the implementation in Apache Commons.
|
Origin |
Apache. Adapted from the ISC-licensed O(1) Cryptography library by Matt Sicker and ported from the reference public domain implementation by Jack O'Connor. |
|
Description |
BLAKE3 hashing algorithm |
|
Approximate LOC |
560 |
|
Saxon packages / modules |
Package |
|
Modifications |
Very minor modifications to enable transpilation of the source code to C#. |
|
Availability of source |
https://commons.apache.org/proper/commons-codec/jacoco/org.apache.commons.codec.digest/Blake3.java.html |
|
Source version used |
Snapshot taken on 2024-10-25 |
|
License |
Apache License, version 2.0 |
B6 JSON numeric canonicalization
Formatting of floating point numbers into the format mandated by the JSON canonicalization spec.
|
Origin |
Cloned from https://github.com/erdtman/java-json-canonicalization. The package has full support for JSON Canonicalization (RFC8785). The only part Saxon uses is the double-to-string conversion, but this is the majority of the code. Copyright 2006-2018 WebPKI.org (http://webpki.org). Apache License. |
|
Description |
JSON Canonical number representation |
|
Approximate LOC |
2100 |
|
Saxon packages / modules |
Package |
|
Modifications |
Very minor modifications to enable transpilation of the source code to C#. Changes listed in the net.sf.saxon.serialize.jcs package-info.java file. |
|
Availability of source |
https://github.com/erdtman/java-json-canonicalization |
|
Source version used |
Snapshot taken on 2025-12-12 |
|
License |
Apache License, version 2.0 |