我最近一直在使用XPath,但一直在寻找有关哪些浏览器支持XPath 2.0的信息,但没有太大的运气。我能找到的最好的是各种渲染引擎的查询技术比较表。
这清楚地告诉我Firefox和IE(所有版本)不支持XPath 2.0,但其他Chrome、Safari等渲染引擎呢?有人有相关信息或知道在哪里可以找到吗?
我最近一直在使用XPath,但一直在寻找有关哪些浏览器支持XPath 2.0的信息,但没有太大的运气。我能找到的最好的是各种渲染引擎的查询技术比较表。
这清楚地告诉我Firefox和IE(所有版本)不支持XPath 2.0,但其他Chrome、Safari等渲染引擎呢?有人有相关信息或知道在哪里可以找到吗?
<script type="text/javascript" src="mxqueryjs/mxqueryjs.nocache.js"></script>
<script type="application/xquery">
b:alert(
let $x := <a><b>2</b><c>4</c></a>
return xs:string($x/b * $x/c)
)
</script>
还有Saxon CE,它是XSLT 2.0的开源JavaScript实现。由于XSLT 2.0包括XPath 2.0,因此这为浏览器提供了XPath 2.0实现。但它不是内置的。
我刚试了当前版本的Safari(7.0.6),它没有接受我给它的XPath 2.0函数:
> document.evaluate("starts-with('foo', 'f')", document.documentElement, null,
XPathResult.BOOLEAN_TYPE, null);
< XPathResult
> document.evaluate("ends-with('foo', 'o')", document.documentElement, null,
XPathResult.BOOLEAN_TYPE, null);
< Error: INVALID_EXPRESSION_ERR: DOM XPath Exception 51