12

特定の名前空間 (プレフィックス) を持つドキュメントの最上位の要素を選択したい。

より具体的には、/html/body (XHTML 名前空間内) または特定の名前空間内のいくつかの要素のいずれかで始まる XML ドキュメントがあります。/html/body を効果的に取り除き、本文の内容またはルートの名前空間要素全体を返すだけです。

4

2 に答える 2

10

XPath 2.0 および XQuery 1.0では、述語でin-scope-prefixes()関数を使用して名前空間プレフィックスに対してテストできます。例えば

//*[in-scope-prefixes(.)='html']

v2 を使用できない場合は、XPath 1.0 でnamespace-uri()関数を使用して名前空間自体をテストできます。例えば

//*[namespace-uri()='http://www.w3c.org/1999/xhtml']
于 2008-09-22T03:54:45.997 に答える
3

私が欲しいXPath式は次のとおりです。

/html:html/html:body/node()|/foo:*

「html」プレフィックスは XHTML 名前空間にマップされ、「foo」プレフィックスはターゲット名前空間にマップされます。

于 2008-09-22T00:00:46.323 に答える