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

These specifications 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-EE schema processor implements a variant of 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-EE provides the option of performing document projection (to eliminate parts of 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 Final Release 1.0 Specification is Copyright (c) 2003, 2006, 2009 Oracle

The specification includes a license describing the terms under which an implementation of the specification may be made or distributed. Saxon's implementation conforms to these conditions.

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