Packaging, installation, and licensing changes
While Saxon 9.5.1.1 is primarily a maintenance release, the increment in the third part of the version number indicates that there are also some small functionality changes. Specifically:
-
Some recent changes in the W3C specification of XPath 3.0 functions are implemented:
-
fn:map
is renamedfn:for-each
, and its arguments are reordered -
fn:map-pairs
is renamedfn:for-each-pair
, and its arguments are reordered -
fn:filter
,fn:fold-left
, andfn:fold-right
have their arguments reordered
-
-
The EXPath ZIP module is no longer packaged with the product. The source code can be separately downloaded and installed in the same way as a user extension function library. This change is made because of the relative immaturity of both the specification and the code, and the absence of a comprehensive test suite; furthermore, one Saxonica customer has raised licensing concerns about the code (concerns we believe to be unfounded).
-
The XSD 1.1 type
xs:error
is recognized, and is used as the "bottom" of the type hierarchy (a type that can have no instances, and is therefore a subtype of every other type) -
Support for the require-feature and prohibit-feature declarations in XQuery 3.0 has been dropped, following a decision of the W3C XQuery Working Group on 18 June 2013.
-
The current (as yet unpublished) XSLT 3.0 specification includes a new form of pattern syntax. In the first draft, implemented in 9.5.0.1, this took the form
match="?{. = 3}
, but in the latest draft it has changed tomatch=".[. = 3]
. Saxon 9.5.1 implements this latter version (but with the restriction that there must be exactly one predicate).
For details of the bugs cleared in each Saxon maintenance release, see https://saxonica.plan.io/projects/saxon/issues, applying a search filter on the field "Fixed in version".