public interface XPathEvaluator
XPath式の評価は、
XPathEvaluator
によって行われます。 上記のように、XPath 3.0の機能をサポートするDOM実装では、XPathEvaluator
インタフェースは、Document
インタフェースを実装する同じオブジェクトに実装され、キャスティングやDOMを使用する通常のバインディング固有のメソッドによって取得されますレベル3のgetInterfaceメソッド。 この場合、Documentから取得された実装はXPath DOMモジュールをサポートしており、XPath 1.0仕様と互換性があります。
特殊な拡張関数または変数を使用した式の評価は、すべての実装で機能しない可能性があるため、移植性がありません。 XPathEvaluator
の実装は、他の仕様で定義されているように、特殊な拡張関数または変数を特定のサポートを提供できる他のソースから入手できます。
「ドキュメント・オブジェクト・モデル(DOM)レベル3 XPath仕様」も参照してください。
-
メソッドのサマリー
修飾子と型メソッド説明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式がドキュメント内に現れたノードのコンテキストに対して容易に評価できるようにします。 このアダプタは、lookupNamespaceURIが呼び出されたときにノード階層で利用可能な現在の情報を使用して、指定されたプレフィクスからnamespaceURIを解決する際に、ノード上のDOM Level 3メソッドlookupNamespaceURI
のように機能します。暗黙のxmlプレフィクスも正しく解決されます。- パラメータ:
nodeResolver
- ネームスペース解決のコンテキストとして使用されるノード。- 戻り値:
XPathNSResolver
は、指定されたノードのスコープ内の定義に関するネームスペースを解決します。
-
evaluate
Object evaluate(String expression, Node contextNode, XPathNSResolver resolver, short type, Object result) throws XPathException, DOMExceptionXPath式の文字列を評価し、可能であれば指定された型の結果を返します。- パラメータ:
expression
- 解析され評価されるXPath式文字列。contextNode
-context
は、このXPath式の評価用のコンテキスト・ノードです。Document
をキャストしてXPathEvaluatorを取得した場合、これは同じ文書が所有し、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
インタフェースのコードの1つでなければなりません。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
によってリクエストの型が許可されていません。
-