map:get
Returns the value associated with a supplied key in a given map.
Signature
map:get(
$map as map(*),
$key as xs:anyAtomicType
) as item()*Properties
This function is deterministic, context-independent, and focus-independent.
Rules
The function map:get attempts to find an entry within the map supplied as $map that has the same key as the supplied
value of $key. If there is such an entry, it returns the associated value;
otherwise it returns an empty sequence.
Notes
A return value of () from map:get could indicate that
the key is present in the map with an associated value of (), or it could
indicate that the key is not present in the map. The two cases can be distinguished
by
calling map:contains.
Invoking the map as a function item has the same effect
as calling get: that is, when $map is a map, the expression
$map($K) is equivalent to map:get($map, $K). Similarly, the
expression map:get(map:get(map:get($map, 'employee'), 'name'), 'first') can
be written as $map('employee')('name')('first').
Examples
let $week := map{0:"Sonntag", 1:"Montag", 2:"Dienstag",
3:"Mittwoch", 4:"Donnerstag", 5:"Freitag", 6:"Samstag"}The expression map:get($week, 4) returns "Donnerstag".
The expression map:get($week, 9) returns (). (When the key is not present, the function returns an empty
sequence.)
The expression map:get(map:entry(7,()), 7) returns (). (An empty sequence as the result can also signify that the key is
present and the associated value is an empty sequence.)