PASS .//* PASS *[position() = 2] PASS .//*[position() = 2] PASS ./././/*[2]/. PASS .//*/span[2] PASS .//*[position() = 1] PASS ./descendant-or-self::node()/child::*[position() = 2] PASS descendant-or-self::node()/child::*[position() = 2] PASS .//*/*[2] PASS preceding::node()[1] PASS preceding::node()[2] PASS preceding::node()[3] PASS preceding::node()/*[3] PASS ancestor::node()[2] PASS ancestor-or-self::node()[2] PASS ancestor-or-self::node()[3] PASS preceding::span[1] PASS (preceding::span)[1] PASS document.evaluate('p[@type="warning"][5]/@num', ROOT2, null, XPathResult.STRING_TYPE, null).stringValue is '6' PASS document.evaluate('p[5][@type="warning"]/@num', ROOT2, null, XPathResult.STRING_TYPE, null).stringValue is '5' PASS successfullyParsed is true TEST COMPLETE