public interface XPathEvaluator
XPath式の評価は、
XPathEvaluator
によって行われます。 前述のように、XPath 3.0機能をサポートするDOM実装では、XPathEvaluator
インタフェースは、Document
インタフェースを実装する同じオブジェクトに実装されます。このインタフェースは、キャストなどの通常のバインディング固有のメソッドまたはDOMレベル3のgetInterfaceメソッドを使用して取得できます。 この場合、ドキュメントから取得した実装は、XPath DOMモジュールをサポートし、XPath 1.0仕様と互換性があります。
特殊な拡張関数または変数を使用した式の評価は、すべての実装では機能しないため、移植できません。 XPathEvaluator
実装は、他の仕様で定義されているように、特殊な拡張関数または変数に対して特定のサポートを提供できる他のソースから入手できます。
「ドキュメント・オブジェクト・モデル(DOM)レベル3 XPath仕様」も参照してください。
- 導入されたバージョン:
- 1.4、DOMレベル3
-
メソッドのサマリー
修飾子と型メソッド説明createExpression
(String expression, XPathNSResolver resolver) 解決されたネームスペースを使用して解析済のXPath式を作成します。createNSResolver
(Node nodeResolver) 任意のDOMノードを適応してネームスペースを解決し、XPath式をドキュメント内に表示されたノードのコンテキストに対して簡単に評価できるようにします。evaluate
(String expression, Node contextNode, XPathNSResolver resolver, short type, Object result) XPath式文字列を評価し、可能な場合は指定された型の結果を返します。
-
メソッドの詳細
-
createExpression
XPathExpression createExpression(String expression, XPathNSResolver resolver) throws XPathException, DOMException 解決されたネームスペースを使用して解析済のXPath式を作成します。 これは、式文字列をより効率的な内部形式にコンパイルし、式内で発生するすべての名前空間のプレフィクスを事前解決できるようにするため、アプリケーションで式を再利用する場合に便利です。- パラメータ:
expression
- 解析されるXPath式文字列。resolver
-resolver
は、XPath式内のプレフィクスを適切な名前空間URIに変換することを許可します。 これがnull
として指定されている場合、式内の任意の名前空間プレフィクスは、DOMException
がコードNAMESPACE_ERR
でスローされる結果になります。- 戻り値:
- XPath式のコンパイル済形式。
- 例外:
XPathException
- INVALID_EXPRESSION_ERR: 式がXPathEvaluator
のルールに従って合法でない場合に発生DOMException
- NAMESPACE_ERR: 式に指定されたXPathNSResolver
で解決できない名前空間プレフィクスが含まれている場合に発生します。
-
createNSResolver
XPathNSResolver createNSResolver(Node nodeResolver) 任意のDOMノードを適応してネームスペースを解決し、XPath式をドキュメント内に表示されたノードのコンテキストに対して簡単に評価できるようにします。 このアダプタは、ノード上のDOMレベル3メソッドlookupNamespaceURI
と同様に動作し、lookupNamespaceURIがコールされた時点でノードの階層で使用可能な現在の情報を使用して、指定されたプレフィクスからnamespaceURIを解決します。また、暗黙的なxmlプレフィクスを正しく解決します。- パラメータ:
nodeResolver
- ネームスペース解決のコンテキストとして使用されるノード。- 戻り値:
XPathNSResolver
。指定したノードのスコープ内の定義に関してネームスペースを解決します。
-
evaluate
Object evaluate(String expression, Node contextNode, XPathNSResolver resolver, short type, Object result) throws XPathException, DOMException XPath式文字列を評価し、可能な場合は指定された型の結果を返します。- パラメータ:
expression
- 解析および評価されるXPath式文字列。contextNode
-context
は、このXPath式を評価するためのコンテキスト・ノードです。 XPathEvaluatorがDocument
のキャストによって取得された場合、これは同じドキュメントによって所有され、Document
,Element
,Attribute
,Text
,CDATASection
,Comment
,ProcessingInstruction
またはXPathNamespace
ノードである必要があります。 コンテキスト・ノードがText
またはCDATASection
の場合、コンテキストは、XPathで表示される論理テキスト・ノード全体として解釈されます。ただし、ノードが空の場合は、XPathコンテキストとして機能しない場合があります。resolver
-resolver
は、XPath式内のプレフィクスを適切な名前空間URIに変換することを許可します。 これがnull
として指定されている場合、式内の任意の名前空間プレフィクスは、DOMException
がコードNAMESPACE_ERR
でスローされる結果になります。type
- 特定のtype
が指定されている場合、結果は対応するtype.For XPath 1.0結果として返されます。これは、XPathResult
インタフェースのコードのいずれかである必要があります。result
-result
は、このメソッドによって再利用および戻される可能性のある特定の結果オブジェクトを指定します。 これがnull
として指定されている場合、または実装が指定された結果を再利用しない場合、新しい結果オブジェクトが作成され、returned.For XPath 1.0の結果が得られると、このオブジェクトの型はXPathResult
になります。- 戻り値:
- XPath expression.For XPath 1.0の結果を評価した結果、このオブジェクトは
XPathResult
型になります。 - 例外:
XPathException
- INVALID_EXPRESSION_ERR: 式がXPathEvaluator
のルールに従って合法でない場合に発生
TYPE_ERR: 結果を変換して指定された型を返すことができない場合に発生します。DOMException
- NAMESPACE_ERR: 式に指定されたXPathNSResolver
で解決できない名前空間プレフィクスが含まれている場合に発生します。
WRONG_DOCUMENT_ERR: ノードは、このXPathEvaluator
でサポートされていないドキュメントからのものです。
NOT_SUPPORTED_ERR: ノードがXPathコンテキスト・ノードとして許可されているタイプでないか、リクエスト・タイプがこのXPathEvaluator
で許可されていません。
-