- From: <bugzilla@jessica.w3.org>
- Date: Mon, 04 May 2015 07:31:06 +0000
- To: public-qt-comments@w3.org
https://www.w3.org/Bugs/Public/show_bug.cgi?id=28598 Bug ID: 28598 Summary: [FO31] (editorial) unclarity in description of negative starting position with fn:subsequence Product: XPath / XQuery / XSLT Version: Candidate Recommendation Hardware: PC OS: Windows NT Status: NEW Severity: minor Priority: P2 Component: Functions and Operators 3.1 Assignee: mike@saxonica.com Reporter: abel.braaksma@xs4all.nl QA Contact: public-qt-comments@w3.org We had a lengthy discussion this morning about this seemingly trivial point. We concluded that the spec is correct, but that it was open for some ambiguity, hence this bug report / editorial enhancement request. The FO30 and FO31 spec says, about a negative starting position: * If $startingLoc is zero or negative, the subsequence includes items from the beginning of the $sourceSeq. This is easily misread, as in our case, that if $startingLoc is zero or negative, it is taken as 1. But after looking at existing behavior of implementations and expected test outcomes, the actual sequence slice taken is from position 1 to $length + $startingPos (in other words, from the start to the difference between these two numbers). If $length = 1, $start = 0, the first item is returned If $length = 1, $start = -1, the empty seq is returned If $length = 5, $start = -3, the first two items are returned After looking again to the written out function, it is formally working that way. But we found the text vague: - there are not always items from returned from the beginning of the $source - the number of items is not equal to the $length argument I'm not sure if, whether, or how this can/sould be improved, but I am rooting for something along those lines: * If $startingLoc is zero or negative, the subsequence includes items from the start of the sequence to position = $length + $startingPos, or the empty sequence if the result is zero or negative. In addition to this, it might also proof helpful or add to clarity to have a statement like: if $length is zero or negative, the empty sequence is returned. -- You are receiving this mail because: You are the QA Contact for the bug.
Received on Monday, 4 May 2015 07:31:08 UTC