XPath 2.0 implementation

The effective boolean value of an xs:anyURI value is now obtained as if the value were a string. This change was decided by the Working Groups in response to bug 2545.

Supplying the empty sequence as the first argument to namespace-uri-for-prefix() is now the same as supplying the zero-length-string: it returns the default namespace.

The min() and max() functions now return the value after numeric promotion rather than the value in the input sequence. For example, max((3e0, 5)) returns the double value 5e0 rather than the integer value 5.

Equality comparisons between subtypes of xs:duration are now permitted, for example the xdt:dayTimeDuration value PT0S and the xdt:yearMonthDuration value PT0M are now equal. Previously such a comparison was an error.

The extension function saxon:deep-equal() takes a new flag "F" that treats namespace prefixes as significant when comparing two element or attribute nodes. This has been introduced to support the rules of the isEqualNode() method in the DOM specification.