This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.
In addition to exhibiting a circular variable definition, this query also exhibits a static type checking error, because $var2 has type item()* and (item()* + 1) fails to typecheck. This is not reflected in the set of expected error codes. declare variable $var2 := local:func1(); declare variable $var := $var2 + 1; declare function local:func1() { local:func2() }; declare function local:func2() { local:func3() }; declare function local:func3() { local:func4() }; declare function local:func4() { $var }; boolean($var)
Yes, a type declaration or two needs to be added so the type error goes away.
An attempted fix has been committed to CVS, and should be part of XQTS_current.zip. Feel free to verify that the fix is acceptable, and if so, change status to CLOSED. If the attempted fix is not acceptable, reopen this report. If no opinion about this resolution is expressed within two weeks, it will be closed. Along with the fix for this report, was committed fixes for other reports as well. Also, a significant amount of new tests were added to cover missing areas and changes in the specifications.
This fixes test K-InternalVariablesWith-19. Thanks.