- From: <bugzilla@jessica.w3.org>
- Date: Wed, 11 May 2016 12:08:00 +0000
- To: public-qt-comments@w3.org
https://www.w3.org/Bugs/Public/show_bug.cgi?id=29622 Bug ID: 29622 Summary: [XQ31] Atomization in Postfix Lookup, Unary Lookup Product: XPath / XQuery / XSLT Version: Candidate Recommendation Hardware: PC OS: Windows NT Status: NEW Severity: normal Priority: P2 Component: XQuery 3.1 Assignee: jonathan.robie@gmail.com Reporter: tim@cbcl.co.uk QA Contact: public-qt-comments@w3.org Target Milestone: --- In 3.11.3.1 Unary Lookup we read for $k in KS return .($k) and in 3.11.3.2 Postfix Lookup we read for $e in E, $s in S return $e($s) In neither is atomization explicit, so as written it is interpreted as: for $k in KS return .(fn:data($k)) and for $e in E, $s in S return $e(fn:data($s)) Consider ['A', 'B', 'C'] ! ?([1, 2]) is interpreted as ['A', 'B', 'C'] ! (for $k in ([1, 2]) return .(fn:data($k)) which causes an error since $k iterates over the single array item, and fn:data([1, 2]) is the sequence (1, 2). Similarly ['a', 'b', 'c'] ?([1, 2])) is interpreted as for $e in ['a', 'b', 'c'], $s in [1, 2] return $e(fn:data($s)) and it should fail in a similar manner. I propse that the specification be modified to read in 3.11.3.1 Unary Lookup for $k in fn:data(KS) return .($k) and in 3.11.3.2 Postfix Lookup for $e in E, $s in fn:data(S) return $e($s) The only effect is to make some queries which would otherwise return XPTY0004 return a non-error. It affects cases where the key specfier includes arrays or elements whose typed value is a sequence. Note that one implementation already behaves in the manner suggested. -- You are receiving this mail because: You are the QA Contact for the bug.
Received on Wednesday, 11 May 2016 12:10:11 UTC