This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.
During the XSLWG we discussed the determinism of function calls under https://www.w3.org/XML/Group/qtspecs/specifications/xpath-functions-31/html/Overview.html#dt-deterministic as it was implemented internally (we shared screen with Michael Kay, I don't see the same text in the internal draft yet). The list of items that determine whether two calls can return the same (cached) result omits array and map arguments (function items are mentioned, but don't special-case arrays or maps, for which identity exists). Also: under fn:collection, the link to "deterministic" does not lead to the term deterministic. Other links seem to work, but I didn't check all of them.
The link in comment#0 should be: https://www.w3.org/XML/Group/qtspecs/specifications/xpath-functions-31/html/Overview.html#dt-identical, under section 1.7.4. Properties of functions, notably the numbered list.
I was actioned to produce a proposal. I propose to add to the list of conditions in 1.7.4 (Two values are defined to be *identical* if any of the following....) 3. Both items are maps, both maps have the same number of entries, and for every entry E1 in the first map there is an entry E2 in the second map such that the keys of E1 and E2 are *the same key*, and the corresponding values V1 and V2 are *identical*. 4. Both items are arrays, both arrays have the same number of members, and the members are pairwise *identical* 5 (was 3). Both items are function items, <add>neither is a map or an array</add>, and...
Although not yet approved by the WG, the proposed wording has been added to the specification.
The WG accepted the proposal and wording