This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.
Array join is defined as: declare function array:join($arrays as array(*)*) as array(*) { if (fn:count($arrays) lt 2) then $arrays else op:array-concat(fn:head($arrays), array:join(fn:tail($arrays))) }; if $arrays has count zero (i.e. $arrays is the empty sequence), then this definition says we return the empty sequence which is not permitted by the static return type, however the example The expression array:join(()) returns [ ]. shows the intention is that the empty array is returned.
Agreed that this should be fixed: array:join(()) should return [].
ACTION A-643-02: MikeK to fix definition of array:join so that joining zero arrays returns an empty array
Confirmed that the change was applied.