This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.
The queries K-InternalVariablesWith-17 and K-InternalVariablesWith-18 expect an error because of a recursive reference to a variable/function. However both queries don't actually use any of the offending code, the main query simply contains a "1", so it's possible to optimise the whole functions/variables thing away. Implementations are free not to evaluate stuff they don't need to evaluate the query (this is why X-Hive doesn't give an error), even if this means they swallow an error. I think the queries should be re-formulated to actually use the function or the variable.
A fix is attempted in CVS, feel free to change status to CLOSED if it is satisfactory. XQTS_current.zip is updated. At this point I do not know whether this fix will make it into XQTS 1.0. One test was changed to allow both both output and error, while the other was changed to use the variable. Thanks for the report. Frans
Thanks, that fixed it.
Surely a circular reference to a variable or a function is a static error, and implementations are required to report all static errors in a query whether the code is executed or not? I think the tests were correct as written.
Yes, I believe you are correct, Mike. Martin's second paragraph on that implementations are free to evaluate without errors if they can, clearly applies to only dynamic errors: <quote> 2.3.3 Handling Dynamic Errors Except as noted in this document, if any operand of an expression raises a dynamic error, the expression also raises a dynamic error. If an expression can validly return a value or raise a dynamic error, the implementation may choose to return the value or raise the dynamic error. [...] </quote> However, I understand one can have an interest in detecting this dynamically, since it requires static analysis. I will undo my changes and close as INVALID. Frans
That's correct, I didn't see that.
This original state should be back in the latest XQTS_current.zip.