diff --git a/specifications/xquery-40/src/expressions.xml b/specifications/xquery-40/src/expressions.xml index 991b2cf19d..3a16d8c5b7 100644 --- a/specifications/xquery-40/src/expressions.xml +++ b/specifications/xquery-40/src/expressions.xml @@ -19581,7 +19581,7 @@ processing with JSON processing.

$M?value::* - ({}, + ([], [ "a", "b" ], [ "c", "d" ], [ "e", "f" ]) @@ -19915,8 +19915,7 @@ return lookup:entries($V)[ fn:atomic-equal(?key, $k) ] ]]> E is any expression and KS is any KeySpecifier, is:

- (E =!> lookup:all-entries() => {?key : ?value}) - ? entry::KS. + (lookup:all-entries(E) ! {?key : ?value}) ? entry::KS @@ -20247,7 +20246,7 @@ return lookup:entries($V)[ fn:atomic-equal(?key, $k) ] ]]> => map:put("parent", fn() { $container }) => map:put("ancestors", fn() { $path }) => map:put("root", fn() { foot($path) } - => map:put("selection-keys", fn() { $key, $path ¶ key }) + => map:put("selection-keys", fn() { $key, $path ! .¶key }) };]]>

In the case where the function is called with a single container (map or array) as the argument:

@@ -20257,9 +20256,10 @@ return lookup:entries($V)[ fn:atomic-equal(?key, $k) ] ]]> item within the value.

The entry itself is labeled with a property path holding the container.

-

Two additional user-visible fields, parent and - ancestors, are added to the returned entry. Both are zero-arity - functions, and in this case both return the container.

+

Four additional user-visible fields (parent, + ancestors, root, and selection-keys) + are added to the returned entry. All are zero-arity + functions.

Similarly, the function lookup:all-entries is refined as follows: