Package net.sf.saxon.ma.arrays
package net.sf.saxon.ma.arrays
This package implements arrays, as introduced in XPath/XQuery 3.1: arrays provide a list-like data structure that (unlike sequences) allows nesting.
Arrays are immutable, so that adding a new entry to an array creates a new array.
The entries in a array are arbitrary XDM sequences.
There are functions (each supported by its own implementation class) to create a new array, to add an entry to a array, to get an entry from an array, to get the size of an array, and so on..
-
ClassesClassDescriptionAn abstract implementation of XDM array items, containing methods that can be implemented generically.Function signatures (and pointers to implementations) of the functions defined in XPath 3.1Implementation of the function array:append(array, item()*) => arrayImplementation of the proposed XP40 function array:build()Implementation of the proposed 4.0 function array:empty(array)Implementation of the proposed 4.0 function array:exists(array)Implementation of the function array:filter(array, function) => arrayImplementation of the function array:flatten => item()*Implementation of the function array:fold-left(array, item()*, function) => arrayImplementation of the function array:fold-left(array, item()*, function) => arrayImplementation of the proposed 4.0 function array:foot(array) => item()*Implementation of the function array:for-each(array, function) => arrayImplementation of the function array:for-each-pair(array, array, function) => arrayImplementation of the function array:_from-sequence(item()*) => array(*) which is used internally for the implementation of array{} and of the saxon:array extensionAbstract superclass for functions that produce an array, and that decide what kind of array implementation to use based on past experience.Implementation of the function array:get(array, xs:integer) => item()*Implementation of the function array:head(array) => item()*Implementation of the function array:for-each-pair(array, array, function) => arrayImplementation of the function array:insert-before(array, xs:integer, item()*) => arrayImplementation of the function array:join(arrays) => arrayImplementation of the proposed XP40 function array:members(array(*)) => record(value)*Implementation of the proposed XP40 function array:of(parcel*) => arrayImplementation of the function array:put(arrays, index, newValue) => arrayImplementation of the function array:remove(array, xs:integer) => arrayImplementation of the function array:replace(array, position, action) => arrayImplementation of the function array:reverse(array, xs:integer, xs:integer) => arrayImplementation of the function array:size(array) => integerImplementation of the function array:slice(array, start, end, step) => arrayImplementation of the function array:slice(array, start, end, step) => arrayImplementation of the function array:subarray(array, xs:integer, xs:integer) => arrayImplementation of the function array:tail(array) => item()*Implementation of the function array:_to-sequence(array) => item()* which is used internally for the implementation of array?*Implementation of the function array:trunk(array) => item()*Interface supported by different implementations of an XDM array item.An instance of this class represents a specific array item type, for example function(xs:int) as xs:booleanImplementation of the extension function array:sort(array, function) => arrayImplementation of ArrayItem backed by a persistent immutable array, so that operations that "update" the array do not have to copy the whole arrayA simple implementation of XDM array items, in which the array is backed by a Java List.An expression that delivers a fixed size array whose members are the result of evaluating corresponding expressions: [a,b,c,d]