- From: <bugzilla@jessica.w3.org>
- Date: Fri, 10 Jun 2016 14:37:39 +0000
- To: public-qt-comments@w3.org
https://www.w3.org/Bugs/Public/show_bug.cgi?id=29080
Josh Spiegel <josh.spiegel@oracle.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |josh.spiegel@oracle.com
--- Comment #5 from Josh Spiegel <josh.spiegel@oracle.com> ---
I think this function would lead to surprising results in cases where there is
not implicit flattening/atomization. For example:
let $arr := [1, 2, (), 4]
return
array {
for $i in array:members($arr)
where not(empty($i))
return
$i
}
I might expect this to filter empty values from the array. But actually it
would evaluate to [[1],[2],[()],[4]]
You are right that we have made changes recently to the functions and
operators. We added array:put and modified the signature of array:remove and
map:remove. In these cases, the modifications were low-risk and
straightforward changes that addressed usability problems. While I have some
sympathy for the problem you are trying to solve, I am not convinced that this
is the right way to solve the problem. And, as you point out, users can
effectively iterate array members using 1 to array:size().
let $arr := [1, 2, (), 4]
return
array {
for $i in 1 to array:size($arr)
where not(empty($arr($i)))
return
$i
}
==>
[1, 2, 4]
--
You are receiving this mail because:
You are the QA Contact for the bug.
Received on Friday, 10 June 2016 14:37:41 UTC