- From: <bugzilla@jessica.w3.org>
- Date: Fri, 24 Jan 2014 16:33:18 +0000
- To: public-qt-comments@w3.org
https://www.w3.org/Bugs/Public/show_bug.cgi?id=24385 Bug ID: 24385 Summary: Unclarity in last-line resolution for fn:unparsed-text-lines() Product: XPath / XQuery / XSLT Version: Proposed Recommendation Hardware: PC OS: Windows NT Status: NEW Severity: normal Priority: P2 Component: XPath 3.0 Assignee: jonathan.robie@gmail.com Reporter: abel.braaksma@xs4all.nl QA Contact: public-qt-comments@w3.org The last sentence under fn:unparsed-text-lines() [1] reads: "but if the external resource ends with a newline sequence, no zero-length string will be returned as the last item in the result." and the example given is: fn:tokenize(fn:unparsed-text($href), '\r\n|\r|\n')[not(position()=last() and .='')] The explanation and the example create a slight ambiguity when dealing with multiple empty lines at the end of the input. The text seems to imply that empty lines are removed, i.e. "no zero-length string will be returned as the last item in the result". But the normative code snippet only strips the last empty line. We've currently implemented this to only strip at most one line from the end, if it is empty. I think this is correct. But another interpretation of the above may mean that all empty lines at the end should be removed. This also raises the question on the corner case of input consisting solely of empty lines. From the example code, zero or one empty line will return the empty sequence, more empty lines will return a sequence of empty strings, one less than the number of empty lines in the input. -- You are receiving this mail because: You are the QA Contact for the bug.
Received on Friday, 24 January 2014 16:33:23 UTC