These tables lists components in category B as described above. (Category B is open source code that has been integrated at source level)
Unlike contributed code, this code was typically not written expressly for inclusion in Saxon, but was originally published under some other license.
A2 Base64 Encoder/Decoder
Origin |
Netscape Communications Corp |
Description |
Encoder and decoder for Base 64 |
Approximate LOC |
400 |
Saxon packages / modules |
Two inner classes within net.sf.saxon.value.Base64Value |
Modifications |
Minor modifications needed to meet the W3C XML Schema specification for Base64 lexical representation |
Availability of source |
Apparently no longer available. Originally part of Netscape Directory Server, package netscape.ldap.util, modules MimeBase64Encoder and MimeBase64Decoder. |
Source version used |
Unknown. Snapshot taken in 2004. |
License |
Netscape 1.1: see http://www.mozilla.org/MPL/NPL-1.1.html |
A3 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 |
A4 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: |
A5 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 and XQuery 1.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. |
A6 Regex Translator
Origin |
James Clark (www.jclark.com) |
Description |
Translator from XML Schema regular expressions to JDK 1.4 regular expressions |
Approximate LOC |
1000 |
Saxon packages / modules |
net.sf.saxon.java, modules JDK14RegexTranslator and JDK15RegexTranslator, and net.sf.saxon.dotnet, module DotNetRegexTranslator |
Modifications |
Enhancements to handle XPath 2.0 regular expressions as input and to produce JDK 1.5 and .NET regular expressions as output |
Availability of source |
Available at http://www.thaiopensource.com/download/xsdregex-20020430.zip |
Source version used |
20020430 |
License |
Thai Open Source Center Ltd. |
A7 Ant Saxon Task
Origin |
Apache |
Description |
Ant task to run schema-aware Saxon transformations |
Approximate LOC |
1000 |
Saxon packages / modules |
net.sf.saxon.ant.AntTransform |
Modifications |
Derived from the standard XSLT task in the Apache Ant product, with enhancements to provide properties to control schema-aware transformations. 50% rewrite. |
Availability of source |
http://ant.apache.org/ |
Source version used |
Ant 1.7.0 |
License |
Apache: see http://www.apache.org/licenses/LICENSE-2.0. This license requires a notice to be displayed; the relevant notice is copied below |