Version 8.6.1 (24 November 2005)

This is a maintenance release: all confirmed bugs in Saxon 8.6 are fixed.

A new extension function saxon:deep-equal() is introduced. This is equivalent to the standard fn:deep-equal() function but with an extra argument to control the comparison details. For example the flag "N" can be set to require two elements to have identical namespace nodes. The function also provides a flag "?" which causes warnings to be displayed explaining the reason for any non-match.

The code that handles binding of imported functions and variables in XQuery has been redesigned, to fix a problem that sometimes resulted in references not being correctly resolved.

Type error FORG0006 occurs when computing the effective boolean value of a sequence for which no EBV is defined (for example, a sequence containing a single date). This error may now be reported statically if it can be detected statically. Like other early reporting of type errors in Saxon, this is done optimistically: that is, an error is reported statically only if there is no valid instance of the supplied type for which EBV is defined.

The warning message produced when a schema uses types such as xs:NMTOKEN or xs:ID for elements (rather than attributes) has been dropped. Although the XML Schema specification says that "for compatibility" such types should not be used for elements, this admonition appears to serve no useful purpose and is widely ignored, not least by tools that generate schemas automatically.