モジュール jdk.xml.dom
パッケージ org.w3c.dom.xpath

インタフェースXPathEvaluator


  • public interface XPathEvaluator
    XPath式の評価は、XPathEvaluatorによって提供されます。 前述のように、XPath 3.0機能をサポートするDOM実装では、XPathEvaluatorインタフェースは、Documentインタフェースを実装する同じオブジェクトに実装され、キャストやDOMレベル3のgetInterfaceメソッドの使用など、通常のバインディング固有のメソッドによって取得できます。 この場合、Documentから取得した実装は、XPath DOMモジュールをサポートし、XPath 1.0仕様と互換性があります。

    特殊な拡張関数または変数を使用した式の評価は、すべての実装で機能しないため、移植できません。 XPathEvaluator実装は、他の仕様で定義されているように、特殊な拡張関数または変数に対して特定のサポートを提供できる他のソースから使用できます。

    Document Object Model (DOM) Level 3 XPath Specificationも参照してください。

    • メソッドの詳細

      • 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: 式がXPathEvaluatoriのルールに従って正しくない場合に呼び出されます。
        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をキャストして取得された場合、これは同じドキュメントによって所有され、DocumentElementAttributeTextCDATASectionCommentProcessingInstructionまたは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: XPathEvaluatori
        TYPE_ERRのルールに従って式が不正である場合に呼び出されます。指定された型を返すように結果を変換できない場合は呼び出されます。
        DOMException - NAMESPACE_ERR: 指定したXPathNSResolverで解決できないネームスペース接頭辞が式に含まれている場合に呼び出されます。
        WRONG_DOCUMENT_ERR: ノードは、このXPathEvaluatorでサポートされていないドキュメントからのものです。

        NOT_SUPPORTED_ERR: ノードがXPathコンテキスト・ノードとして許可されているタイプでないか、このXPathEvaluatorによってリクエスト・タイプが許可されていません。