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.
-
Interface Summary Interface Description TupleType An instance of this class represents a specific tuple item type, for example tuple(x as xs:double, y as element(employee)). -
Class Summary Class Description DictionaryMap A simple implementation of MapItem where the strings are keys, and modification is unlikely.HashTrieMap An immutable map.KeyValuePair A key and a corresponding value to be held in a Map.MapCreate This is a variant of the map:new() or map:merge() function which differs in that duplicate keys are considered an error.MapFunctionSet Function signatures (and pointers to implementations) of the functions defined in XPath 2.0MapFunctionSet.MapContains Implementation of the XPath 3.1 function map:contains(Map, key) => booleanMapFunctionSet.MapEntries Implementation of the proposed 4.0 function map:entries(Map) => record(key, value*MapFunctionSet.MapEntry Implementation of the extension function map:entry(key, value) => MapMapFunctionSet.MapFind Implementation of the XPath 3.1 function map:find(item()*, key) => arrayMapFunctionSet.MapForEach Implementation of the function map:for-each(Map, Function) => item()*MapFunctionSet.MapGet Implementation of the XPath 3.1 function map:get(Map, key) => valueMapFunctionSet.MapIndex Implementation of the proposed XPath 4.0 function map:index($sequence, function(item()) as xs:anyAtomicType) => map(*)MapFunctionSet.MapKeys Implementation of the XPath 3.1 function map:keys(Map) => atomicValue*MapFunctionSet.MapMerge 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.MapFunctionSet.MapPut Implementation of the extension function map:put() => MapMapFunctionSet.MapRemove Implementation of the XPath 3.1 function map:remove(Map, key) => valueMapFunctionSet.MapSize Implementation of the extension function map:size(map) => integerMapItem Interface supported by different implementations of an XDM map itemMapType An instance of this class represents a specific map item type, for example map(x:integer, element(employee))MapUntypedContains 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.RangeKey This class implements an XPath map item as a view of an XSLT key index.RecordTest An instance of this class represents a specific record item type, for example record(x as xs:double, y as element(employee)).SelfReferenceRecordTest An instance of this class represents a self-reference within a record type, that is the ".." construct in a record test such asrecord(data as xs:string, next? as ..)
.SingleEntryMap A key and a corresponding value to be held in a Map.