如果我告诉 XPath 求值器我想要一个XPathResult.FIRST_ORDERED_NODE_TYPE(8) 或ANY_UNORDERED_NODE_TYPE(9),我得到了该body元素,正如预期的那样——但所有其他结果类型都会产生一个The expression cannot be converted to return the specified type.异常(在 Firefox 中;WebKit 和 Opera 似乎不那么慷慨,只满足于而是命名它TYPE_ERR: DOM XPath Exception 52。
到底是怎么回事?并且,为了清楚起见重新表述问题:为什么选择上下文节点是一个类型错误,而不是清楚地推断为单节点结果,这从 XPath 表达式本身(".",的同义词"self::node()")显而易见,至少对我自己来说是一个人?
(作为参考,触发错误的不是.singleNodeValue具体访问——所有 XPathResult 的属性都表示同样的错误。)