XQuery 3.0 changes

See also XPath 3.0 changes.

The function annotations %public and %private are implemented (they were available in 9.3 without the "%" sign).

The variable annotations %public and %private are implemented (they were not available in 9.3).

A case clause in a typeswitch expression can list multiple alternative types separated by the "|" operator.

In FLWOR expressions, the count clause is implemented; implementation of group-by has been completed, and sliding and tumbling windows are implemented. Implementation of XQuery 3.0 FLWOR expressions is thus functionally complete. To achieve this, a new internal design has been adopted, using tuple streams in a manner very close to that described in the specification.

The implementation of the -TP option on the command line, which produces a timing profile, has been rewritten. Rather than producing a trace file containing all the events with timings, which could become very voluminous, it now aggregates the timing data in memory, and outputs the results directly in HTML rather than requiring a separate post-processing step.