- From: <bugzilla@jessica.w3.org>
 - Date: Thu, 08 Sep 2016 12:11:37 +0000
 - To: public-qt-comments@w3.org
 
https://www.w3.org/Bugs/Public/show_bug.cgi?id=29722
Botond BirĂ³ <botond23@gmail.com> changed:
           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |botond23@gmail.com
--- Comment #7 from Botond BirĂ³ <botond23@gmail.com> ---
(In reply to Michael Kay from comment #6)
> The spec has been updated.
As of 6th of September the array:sort#2 function signature seems to be broken:
array:sort($array as item()*, $collation as xs:string?) as item()*
The type of the first argument and the return type should be array(*)
Should I open a separate bug for this?
Additionally I would suggest some changes in the signatures of the sort
functions (in case they are not carved in stone yet) - namely to move back the
$key in the 2nd position and add the $collation as last argument with the
occurrence exactly one.
fn:sort($input) // same as sort#3($input, fn:data#1, default-collation())
fn:sort($input, $key as function(*)) // same as sort#3($input, $key,
default-collation())
fn:sort($input, $key as function(*), $collation as xs:string) //note the
occurrence on collation type is exactly one
1. In most (if not all) other functions accepting a collation string, it is
added as last in the argument list (ex. fn:compare, fn:contains-token, etc.)
Having them similarly in the sort functions would be a bit more consistent.
2. with the signatures suggested above one could avoid
incompatibilities(err:XPTY0004) with expressions relying on previous spec
implementations
3. I think that specifying a different key function is more likely than
switching only to a different collation - but maybe this is my personal
preference/use case only
If you think it's worth considering, please reopen the bug.
Thank you,
-- 
You are receiving this mail because:
You are the QA Contact for the bug.
Received on Thursday, 8 September 2016 12:12:35 UTC