This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.
I disagree with the expected result of the following test. <test-case name="try-catch-all-dynamic-errors-caught-1"> <description>XPDY0002 must be caught.</description> <created by="Ghislain Fourny" on="2011-07-28"/> <environment ref="err"/> <test>try { . } catch err:XPDY0002 { "Context item not set." }</test> <result> <assert-string-value>Context item not set.</assert-string-value> </result> </test-case> I do not think that XPDY0002 should be caught here. Recall that . is represented by the Formal Semantics as a variable called $fs:dot. Compare with variations on this test: declare variable $x external; try { $x } catch err:XPDY0002 { "External variable not set." } declare variable $x := fn:error("err:XPDY0002"); try { $x } catch err:XPDY0002 { "External variable raised error." }
Here's one further example. declare variable $x := .; try { $x } catch err:XPDY0002 { "External variable raised error." }
On second thoughts, I now agree with the expected result.