Third Party Source Components
These tables lists components in category B as described above. (Category B is 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.
B1 Generic Sorter
Origin |
CERN (author Wolfgang Hoschek) |
Description |
Generic sort routines based on published algorithms |
Approximate LOC |
500 |
Saxon packages / modules |
net.sf.saxon.sort.GenericSorter |
Modifications |
Minimal modifications needed to integrate the code |
Availability of source |
Currently available as part of Colt project, http://dsd.lbl.gov/~hoschek/colt/, module cern.colt.GenericSorting |
Source version used |
Unknown. Snapshot taken in 2004? |
License |
CERN License: see below |
B2 Unicode Normalization
Origin |
Unicode Consortium (author Mark Davis) |
Description |
Routines for Unicode character normalization |
Approximate LOC |
3500 (including data sets) |
Saxon packages / modules |
net.sf.saxon.sort.codenorm.* |
Modifications |
Core functionality unchanged; rewrote the module that loads the data tables from the Unicode character database; removed dependencies on ICU; fixed a few bugs |
Availability of source |
Specification of algorithm at http://unicode.org/reports/tr15/, code available via http://www.unicode.org/reports/tr15/Normalizer.html |
Source version used |
No version number. Snapshot taken in June 2005 |
License |
Unicode license: see below: |
B3 XPath Parser
Origin |
James Clark (www.jclark.com) |
Description |
Top-down parser and lexical tokenizer for XPath |
Approximate LOC |
1000 (including data sets) |
Saxon packages / modules |
net.sf.saxon.expr.*, modules ExpressionParser, Tokenizer, Token |
Modifications |
Almost entirely rewritten with enhancements to handle XPath 2.0/3.0 and XQuery 1.0/3.0 syntax, improved error reporting, etc. |
Availability of source |
Derives from James Clark's xt product, which in its original form is at http://www.jclark.com/xml/xt-old.html. Package com.jclark.xsl.expr, modules ExprParser and ExprTokenizer |
Source version used |
Unknown. Snapshot taken in 1999. |
License |
James Clark (see below). Apparently copyright has since been transferred to the Thai Open Source Center Ltd. |
B4 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 net.sf.saxon.regex, classes RECompiler, REProgram, REMatcher |
Modifications |
substantial modifications to implement the XSD and XPath regular expression syntax and semantics, to add Unicode support, 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 EXPath ZIP module
The implementation of the EXPath ZIP module included with the Saxon distribution is closely based on the prototype implementation by Florent Georges published on the EXPath site at http://expath.org/modules/zip/.
Origin |
EXPath (author Florent Georges) |
Description |
Extension functions providing access to ZIP archives |
Approximate LOC |
2000 |
Saxon packages / modules |
net.sf.saxon.option.expath.zip |
Modifications |
Minor modifications: conversion to use Saxon's integrated extension function mechanism, addition of error codes |
Availability of source |
Original source available from EXPath.org; modified source available as part of the Saxon open-source distribution at SourceForge. |
Source version used |
Version 0.1. Snapshot taken in November 2012. |
License |
Mozilla Public License 2.0 |