Package net.sf.saxon.ma.map
package net.sf.saxon.ma.map
This package implements maps, as introduced in XSLT 3.0 and XQuery 3.1: maps provide a dictionary-like data structure.
Maps are immutable, so that adding a new entry to a map creates a new map.
The entries in a map are (Key, Value) pairs. The key is always an atomic value; the value may be any XPath sequence.
There are functions (each supported by its own implementation class) to create a new map, to add an entry to a map, to get an entry from a map, and to list all the keys that are present in a map.
-
ClassDescriptionA simple implementation of MapItem where the strings are keys, and modification is unlikely.An immutable map.A key and a corresponding value to be held in a Map.This is a variant of the map:new() or map:merge() function which differs in that duplicate keys are considered an error.Function signatures (and pointers to implementations) of the functions defined in the map namespace in XPath 3.1Implementation of the proposed XPath 4.0 function map:build($sequence, $key, $value, $combined) as xs:anyAtomicType) => map(*)Implementation of the XPath 3.1 function map:contains(Map, key) => booleanImplementation of the proposed 4.0 function map:entries(Map) => map(*)*Implementation of the extension function map:entry(key, value) => MapImplementation of the proposed XPath 4.0 function map:filter(Map, function(*)) => MapImplementation of the XPath 3.1 function map:find(item()*, key) => arrayImplementation of the function map:for-each(Map, Function) => item()*Implementation of the XPath 3.1 function map:get(Map, key) => valueImplementation of the XPath 3.1 function map:keys(Map) => atomicValue*Implementation of the function map:merge() => Map From 9.8, map:merge is also used to implement map constructors in XPath and the xsl:map instruction in XSLT.Implementation of the function map:of-pairs() => MapImplementation of the proposed 4.0 function map:pair(key, value) => record(key, value)Implementation of the proposed 4.0 function map:pairs(Map) => record(key, value)*Implementation of the extension function map:put() => MapImplementation of the XPath 3.1 function map:remove(Map, key) => valueImplementation of the extension function map:size(map) => integerInterface supported by different implementations of an XDM map itemAn instance of this class represents a specific map item type, for example map(x:integer, element(employee))Implementation of an internal function map:untyped-contains(Map, key) => boolean, which is like map:contains except that if the supplied key is untyped atomic, it is converted to all the possible types present in the map and returns true if the key after conversion is present.This class implements an XPath map item as a view of an XSLT key index.An instance of this class represents a specific record item type, for example record(x as xs:double, y as element(employee)).Class representing one field definition within a record type definition, used only while constructing a record definitionAn instance of this class represents a specific record type, for example record(x as xs:double, y as element(employee)).An instance of this class represents a self-reference within a record type, that is the ".." construct in a record test such as
record(data as xs:string, next? as ..)
.A key and a corresponding value to be held in a Map.