XPath 3.1 implementation

Saxon 9.7 is a complete implementation of the XPath 3.1 Candidate Recommendation. At the time of Saxon 9.7 release, the current public version of the XPath 3.1 specification is the version dated 18 December 2014, but publication of a revised version is imminent. Saxon 9.7 implements the changes in this revised version.

The xs:numeric type (a new built-in union type) is implemented. This is a union type whose members are xs:double, xs:float, and xs:decimal, and it is available to user-written applications as a standard built-in type. It replaces the abstract atomic type called xs:numeric which existed in previous releases as a supertype of xs:double, xs:float, and xs:decimal, and which was not exposed to XPath applications directly, but was visible at the Java API level.

Arrays are implemented as a new data type, along with the full set of functions that operate on arrays. The constructor syntax for arrays is implemented. The lookup operator "?" is implemented both for arrays and for maps.

In the map constructor syntax, the separator ":=" rather than ":" was previously allowed; this alternative is no longer supported.