ノード型のテスト
要素ノード以外の (または要素ノードに加えて) ノード型を選択するには、ノード型のテストを使用します。 ノード型のテストを使用する効果は、特定の軸のプリンシパル ノード型を上書きすることです。 たとえば、descendant::text()
は、子孫軸のプリンシパル ノード型が要素でも、コンテキスト ノードから子孫のテキスト ノードをすべて検索します。
次の表に示すとおり、ノード型のテストには 4 種類が使用可能です。
ノード型 | 戻り値 | 例 |
---|---|---|
|
コメント ノードの場合 True です。 |
|
|
任意のタイプのノードで True です。 |
|
|
処理命令ノードの場合 True です。 |
|
|
テキスト ノードの場合 True です。 |
|
注 : |
---|
processing-instruction() テストはリテラルの引数を持つことができます。この場合、そのリテラルの値に等しい名前を持つ任意の処理命令について True です。詳細については「ターゲット指定の処理命令のテスト」を参照してください。
|
ノード型のテストの最後のかっこ ()
は必須です。 かっこの存在により、ソース ドキュメントに comment、text、processing-instruction、または node という名前のノードがある場合に発生する可能性のある問題をすべて除去できます。 XPath アップリケーションが二重のかっこを検出した場合、そのアプリケーションは、これがノード型のテストであり、これらの名前によるノードの名前テストではないことがわかります。 同様に、ノード型のテストは XPath 関数ではありません。XPath 関数への参照も空や空でないかっこを含みます。