SAXON home page

SAXON: Change History

This file describes changes for versions 7.0 and later. For changes prior to version 7.0, see http://saxon.sf.net/saxon6.5/changes.html.

Changes in version 7.0 (2001-12-20)

This version introduces initial support of features defined in working drafts of XSLT 2.0 and XPath 2.0.

Version 7.0 should be regarded as an experimental alpha release. For production use, please continue to use Saxon 6.5

The Saxon package name has changed from com.icl.saxon to net.sf.saxon. Any applications that use Saxon java classes directly (rather than relying on the JAXP interface) will need to be modified. Note that this also affects the settings of the system properties javax.xml.parsers.SAXParserFactory and javax.xml.transform.TransformerFactory.

The entry point from the command line has changed from com.icl.saxon.StyleSheet to net.sf.saxon.Transform.

The namespace URI for saxon extensions has changed from http://icl.com/saxon to http://saxon.sf.net/. Note that many extensions have been withdrawn, as they are superseded by facilities in XPath 2.0 and/or XSLT 2.0.

To allow coexistence, the name of the JAR file for this release has changed to saxon7.jar. The SQL extensions are now in a separate JAR file, saxon7-sql.jar. A transformation can now be executed directly from the JAR file using the command java -jar saxon7.jar in place of java net.sf.saxon.Transform.

Saxon now requires JDK 1.2 or later to run. In consequence, Saxon will no longer work with the Microsoft Java VM, and the Instant Saxon version of the product is therefore no longer available.

Because Saxon no longer runs with the Java VM, it can now be run as an applet within Internet Explorer only if the Sun Java plug-in is installed. You can get this from http://java.sun.com/getjava. This may require some configuration changes because of the differences in security policy.

The following sections summarize the main new features. These assume familiarity with the XPath 2.0 and XSLT 2.0 specifications; however, summaries of the new syntax for expressions and XSLT elements are included in this package.

XPath 2.0 Data Model and Language

XSLT 2.0 features

Function Library

I have made the following changes to the function library:

Significant Omissions

In general, features of XSLT 2.0 and XPath 2.0 not listed above have not been implemented. In particular, these include:

Internal changes

As might be expected, the Saxon code has undergone major change internally, which will affect any application making significant use of internal interfaces. Here are some of the highlights:

I have removed documentation of the saxon:trace extension attribute; it seems this hasn't been working for some time.

API changes

SQL extension elements

A new sql:query instruction has been added, to accompany the existing sql:connect, sql:insert, etc.

Attributes:

table The table to be queried (the contents of the FROM clause of the select statement). This is mandatory, the value is an attribute value template.
column The columns to be retrieved (the contents of the SELECT clause of the select statement). May be "*" to retrieve all columns. This is mandatory, the value is an attribute value template.
where The conditions to be applied (the contents of the WHERE clause of the select statement). This is optional, if present the value is an attribute value template.
row-tag The element name to be used to contain each row. Must be a simple name (no colon allowed). Default is "row".
column-tag The element name to be used to contain each column. Must be a simple name (no colon allowed). Default is "col".

The xsl:query instruction writes zero or more row elements to the current result tree, each containing zero or more column elements, which contain the data values.

Thanks to Claudio Thomas [claudio.thomas@web.de] who supplied the original version of this code.

The SQL extensions are now contained in a separate JAR file, saxon7-sql.jar, which must be on the class path if these extensions are used.

Michael H. Kay
20 December 2001