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.

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/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.

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

Significantly enhanced to handle XPath 2.0/3.0 regular expressions as input and to produce JDK 1.5 and .NET regular expressions as output; and to support Unicode 6.0.0.

Availability of source

Available at http://www.thaiopensource.com/download/xsdregex-20020430.zip

Source version used

20020430

License

Thai Open Source Center Ltd.