SAXONICA

Saxon Documentation
Full Contents
About Saxon
Changes in this Release
| Version 8.9 (2007-02-12)
| Version 8.8 (2006-09-05)
| Version 8.7.3 (2006-06-13)
| Version 8.7.2 (2006-04-19)
| Version 8.7.1 (2006-04-13)
| Version 8.7 (2006-02-24)
| Version 8.6.1 (24 November 2005)
| Version 8.6 (3 November 2005)
| Version 8.5.1 (26 August 2005)
» | Version 8.5 (2 August 2005)
| Version 8.4 (4 April 2005)
| Version 8.3 (11 February 2005)
| Version 8.2 (21 December 2004)
| Version 8.1.1 (8 October 2004)
| Version 8.1 (24 September 2004)
| Version 8.0 (1 June 2004)
Conditions of Use
Using XSLT 2.0
Using XQuery
Handling Source Documents
XML Schema Processing
XPath API for Java
Saxon on .NET
Extensibility
Saxon Extensions
Sample Saxon Applications
The Saxon SQL Extension
XSLT Elements
XPath 2.0 Expression Syntax
Function Library
Standards Conformance

# Changes to Schema-Aware XSLT and XQuery Processing

By default the schema-aware processor now uses validation=preserve rather than validation=strip for input documents. This is more efficient, and it gives results that are more consistent with the basic processor.

When validation is requested at the document level, there is now a check that the document contains a single top-level element, and no top-level text nodes. This check had previously been omitted.

In XSLT, document-level validation is now supported using the `type` attribute of the `xsl:document`, `xsl:result-document`, `xsl:copy-of`, and `xsl:copy` instructions.

The distinction between `xdt:untyped` and `xs:anyType` is now implemented.

Elements of type `xs:ID` (as well as attributes of type xs:ID) are now accessible using the `id()` function.

Subtypes derived from `xs:ID` are now recognized when deciding which elements and attributes have the `is-ID` property (and therefore qualify for retrieval using the `id()` function).

In line with changes agreed by the Working Groups, it is now an error to apply validation directly to an attribute node if the attribute type is namespace-sensitive (for example, xs:QName or xs:NOTATION). It's not possible to do such validation before the attribute is attached to a parent element as the namespace context is unknown. This only affects XSLT, since XQuery doesn't allow validation at the level of individual attributes anyway.

Next