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 in XML Schema support

The code for parsing and validating schema documents has been extensively refactored. It is now tree-based rather than event-based, which generally makes it more robust, and makes the functional changes listed below possible. There is now no residual code from Castor.

Saxon now supports `xs:notation` declarations and values of type `xs:NOTATION`. As with QName support, there are still some restrictions: for example, notations cannot be used as default or fixed values, or used in key and uniqueness constraints.

Chameleon includes and redefines are now implemented: that is, includes and redefines in which a schema document with a target namespace includes or redefines one without a target namespace.

Cyclic imports (where A imports B and B imports A) are now permitted, though the coverage of this feature in test cases is rather sparse (none of the W3C test cases cover it).

Multiple inclusion (where A includes B and C, while B and C both include D) is now handled: again, test coverage is sparse.

Saxon imposes limits on the values of `minOccurs` and `maxOccurs` in particles of a content model. These limits are now documented; a warning is output when the limits are exceeded; and the limits are now configurable by a new method on the `SchemaAwareConfiguration` class.

Next