モジュール 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の実装は、他の仕様で定義されているように、特殊な拡張関数または変数を特定のサポートを提供できる他のソースから入手できます。

    「ドキュメント・オブジェクト・モデル(DOM)レベル3 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,
                        DOMException
        XPath式の文字列を評価し、可能であれば指定された型の結果を返します。
        パラメータ:
        expression - 解析され評価されるXPath式文字列。
        contextNode - contextは、このXPath式の評価用のコンテキスト・ノードです。 DocumentをキャストしてXPathEvaluatorを取得した場合、これは同じ文書が所有し、DocumentElementAttributeTextCDATASectionCommentProcessingInstruction、または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によってリクエストの型が許可されていません。