- From: <bugzilla@wiggum.w3.org>
- Date: Wed, 02 May 2007 13:25:33 +0000
- To: public-qt-comments@w3.org
- CC:
http://www.w3.org/Bugs/Public/show_bug.cgi?id=4521 Summary: K2-Axes-32 Product: XML Query Test Suite Version: 1.0.2 Platform: PC OS/Version: Windows NT Status: NEW Severity: normal Priority: P2 Component: XML Query Test Suite AssignedTo: andrew.eisenberg@us.ibm.com ReportedBy: tim@cbcl.co.uk QAContact: public-qt-comments@w3.org Having started to look at optimization of queries, I believe this query can be reduced to "true" avoiding the expected error. Since (/) introduces a "treat as document", the static type of the argument to fn:root can be deduced as empty-sequence, because we know that the parent of a document node is empty-sequence. fn:root therefore returns empty-sequence, then empty() returns true. I believe this to be similar to the case pointed out by Mike Kay in bug report 4277 (in which static type analysis means that a cast which would fail need not be evaluated). (:*******************************************************:) (: Test: K2-Axes-32 :) (: Written by: Frans Englich :) (: Date: 2007-01-22T21:16:10+01:00 :) (: Purpose: Apply axis '..' to the return value of fn:root(). :) (:*******************************************************:) declare variable $myVar := <e/>; empty(fn:root($myVar/(/)/..))
Received on Wednesday, 2 May 2007 13:25:48 UTC