2013-05-20 39 views
19

私は最近、XPathで作業していて、XPath 2.0をサポートしているブラウザに関する情報を多く探しています。私が見つけた最高のものは、さまざまなレンダリングエンジンのquery technologies comparison tableでした。Xpath 2.0をサポートしているブラウザは?

これは明らかに、FirefoxとIE(両方のすべてのバージョンが)のXPath 2.0をサポートしていないと言われますが、何等のクロム、サファリ、のために他のレンダリングエンジンは?誰かがこれに関する情報を持っていますか、誰がそれを見つけることができるかを知っていますか?

答えて

5

私には分かりません。official list of implementationsにはいずれも含まれていません。

代替 - もちろんあまりパフォーマンスネイティブ実装より - JavaScriptでのXQueryの実装ですXQIBだろう。 XPath 2.0はXQuery 1.0のサブセットとして完全に組み込まれているため、JavaScriptをサポートするすべてのブラウザでXPath 2.0のすべての機能を使用することができます。

<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> 
1

Saxon CEは、XSLT 2.0のオープンソースのJavaScript実装もあります。それを使用する方法についての彼らのウェブサイトから取得した

short sample。 XSLT 2.0にはXPath 2.0が含まれているため、これはブラウザにXPath 2.0実装を提供します。しかし、それは組み込みではありません。

私はちょうどサファリの現在のバージョン(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 

をだから私は、WebKitの(特にJSエンジンと言うだろう、SquirrelFish/Nitro)は現在XPath 2.0をサポートしていません。

関連する問題