This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.
ST-Axes001 is as follows: (: Name: ST-Axes001 :) (: Description: self:: axis with explicit name test called on set of nodes which do not contain any nodes of this name :) (: insert-start :) declare variable $input-context external; (: insert-end :) fn:count($input-context//center/self::nowhere) Note that as the query stands, the static type of $input-context is not declared and so it defaults to item(); Whilst it is acceptable for a test harness to rewrite the declaration, for example to: declare variable $input-context as node() external; this should not be necessary in order to pass a test. Since this test is for the static typing feature, I suggest that the type of the argument should be more explicit, either by specifying it in the declaration (which could break some test harnesses), or by an explicit treat as in the query: fn:count($input-context treat as node()//center/self:nowhere) This same problem occurs in ST-Axes001 - ST-Axes015
As you've noted, our guidelines allow a test harness to add "as document-node()" to an external variable declaration to allow static typing implementations to execute the tests correctly. We responded to this issue once before in Bug #3777. I'd like not to make any changes here and instead place the burden on your test harness. Please close this bug if you agree with this resolution.