This module contains [[Querying#Functions|XQuery Functions]] for manipulating maps. All functions are preceded by the <code>map:</code> prefix, which is linked to the <code>http://www.w3.org/2005/xpath-functions/map</code> namespace. The following documentation is derived from a an [http://www.w3.org/TR/xpath-functions-30/ XQuery 3.0 Functions and Operators] working draft proposal written by [http://en.wikipedia.org/wiki/Michael_Kay_(software_engineer) Michael H. Kay].
A map is an additional kind of item. It comprises a collation and a set of entries. Each entry comprises a key which is an arbitrary atomic value, and an arbitrary sequence called the associated value. Within a map, no two entries have the same key, when compared using the <code>eq</code> operator under the map's collation. It is not necessary that all the keys should be mutually comparable (for example, they can include a mixture of integers and strings). Key values will never be of type <code>xs:untypedAtomic</code>, and they will never be the <code>xs:float</code> or <code>xs:double</code> value <code>NaN</code>.