XPath 3.1 Conformance
Saxon 9.8 implements the final XPath 3.1 Recommendation in its entirety.
New features in XPath 3.0 include the following:
- 
            
String contatenation operator
|| - 
            
Simple mapping operator
! - 
            
Casting is allowed from a string to a union or list type
 - 
            
Union types, provided they meet certain rules, can be used as a
SequenceType - 
            
Dynamic function call (functions are first class values (items) in the data model)
 - 
            
Function literals, for example
substring#2 - 
            
Inline functions, for example
function($i) {$i*$i} - 
            
Partial application of functions, for example
concat('$', ?) - 
            
Let expressions, for example
let $v := expr return f($v) - 
            
EQNames (
Q{uri}local) wherever QNames are allowed 
New features in XPath 3.1 include:
- 
            
Support for maps and arrays
 - 
            
Functions to read and write data in JSON format
 - 
            
A new operator (
=>) to allow function chaining - 
            
Various new functions including
random-number-generator(),sort(),parse-ietf-date().