Saxonica.com

Published Algorithms and Specifications

The table below lists published specifications and algorithms that formed a significant intellectual input into the development of the product.

Title of Publication

Usage

Java 2 SE 6 interface specifications

Saxon implements many interfaces defined in the Java 2 SE specifications, notably the JAXP interfaces

W3C specifications for XML 1.0, XSLT 2.0, XPath 2.0, XQuery 1.0 and associated documents

Define the language standards that Saxon implements

Using Finite-State Automata to Implement W3C XML Schema Content Model Validation and Restriction Checking. Henry Thompson and Richard Tobin. XML Europe 2003

The Saxon-SA schema processor implements this algorithm to validate instance documents

How to Print Floating Point Numbers Accurately. Guy Steele and Jon White. ACM SIGPLAN 1990

Saxon uses this algorithm to convert floating point numbers to strings

Amélie Marian and Jérôme Siméon. Projecting XML Documents. VLDB'2003, Berlin, Germany, September 2003.

Saxon-SA provides the option of performing document projection (to eliminate parts a a source document that a query cannot reach) using an algorithm similar to the one published in this paper

XQJ (XQuery API for Java). Java Community Process JSR-225. The current Public Draft 0.9 Specification is Copyright (c) 2003, 2006, 2007 Oracle.

The specification includes a license describing the terms under which an implementation of the specification may be made or distributed. Saxon contains a provisional implementation of this specification, provided for users who wish to gain early exposure to this draft API. This is distributed under the terms of the license in the JSR document.

Date calculation algorithms, taken from http://vsg.cape.com/~pbaum/date/jdalg.htm, http://vsg.cape.com/~pbaum/date/jdalg2.htm, and http://www.hermetic.ch/cal_stud/jdn.htm#comp

Saxon implements these published algorithms for converting dates to Julian day numbers and vice versa