モジュール java.xml
パッケージ javax.xml.xpath

インタフェースXPathExpression


  • public interface XPathExpression
    XPathExpressionはコンパイルされたXPath式へのアクセスを提供します。 XPath評価は、次の表に示す要因の影響を受けます。
    XPath式の評価
    要因 動作
    context コンテキストの型は実装依存です。 値がnullの場合、操作はコンテキストに依存しない必要があります。そうでない場合は、XPathExpressionExceptionがスローされます。 XPath式を評価するため、DocumentFragmentがドキュメント・ノードと同様に扱われる。
    変数 式に変数の参照が含まれる場合、XPathVariableResolverによってその値が見つけられる。 変数リゾルバが定義されていないか、リゾルバから変数に対してnullが返された場合、XPathExpressionExceptionが生成される。 変数の値は、1回の評価の過程を通じて不変でなければならない。
    functions 式に関数の参照が含まれる場合、XPathFunctionResolverによって関数が見つけられる。 関数リゾルバが定義されていないか、関数リゾルバから関数に対してnullが返された場合、XPathExpressionExceptionが生成される。
    QNames 式の中のQNameがXPath名前空間コンテキストに照らして解決される。
    result 式の評価の結果は目的の戻り値の型のインスタンスに変換される。 有効な戻り値の型は、XPathConstantsに定義する。 戻り値の型への変換はXPath変換規則に従う。

    XPath式はスレッドセーフではなく、再入不可能です。 つまり、アプリケーション側で、どのような場合でも1つのXPathExpressionオブジェクトが複数のスレッドから使用されることがないようにする必要があります。また、evaluateメソッドが呼び出されている間、アプリケーションは再帰的にevaluateメソッドを呼び出すことができません。

    導入されたバージョン:
    1.5
    関連項目:
    XML Path Language (XPath) Version 1.0, Expressions
    • メソッドの詳細

      • evaluate

        Object evaluate​(Object item,
                        QName returnType)
                 throws XPathExpressionException
        指定されたコンテキストでコンパイル済みのXPath式を評価し、結果を指定された型として返します。

        コンテキスト項目の評価、変数、関数、およびQNameの解決と戻り値の型の変換については「XPath式の評価」を参照してください。

        パラメータitemは、XPath式が操作されるコンテキストを表します。 コンテキストの型は実装依存です。 値がnullの場合、操作はコンテキストに依存しない必要があります。そうしないと、XPathExpressionExceptionがスローされます。

        実装上のノート:
        コンテキストの型は通常Nodeです。
        パラメータ:
        item - XPath式が評価されるコンテキスト。
        returnType - 結果の型は、XPath式によって返されると予想されます。
        戻り値:
        式を評価し、結果をreturnTypeに変換した結果であるObject
        例外:
        XPathExpressionException - 式を評価できない場合。
        IllegalArgumentException - returnTypeXPathConstantsに定義された型でない場合。
        NullPointerException - returnTypenullの場合。
      • evaluate

        String evaluate​(Object item)
                 throws XPathExpressionException
        指定されたコンテキストでコンパイル済みのXPath式を評価し、結果をStringとして返します。

        このメソッドは、XPathConstants.STRINGreturnTypeを指定してevaluate(Object item, QName returnType)を呼び出します。

        コンテキスト項目の評価、変数、関数、およびQNameの解決と戻り値の型の変換については「XPath式の評価」を参照してください。

        パラメータitemは、XPath式が操作されるコンテキストを表します。 コンテキストの型は実装依存です。 値がnullの場合、操作はコンテキストに依存しない必要があります。そうしないと、XPathExpressionExceptionがスローされます。

        実装上のノート:
        コンテキストの型は通常Nodeです。
        パラメータ:
        item - XPath式が評価されるコンテキスト。
        戻り値:
        XPath式をStringとして評価した結果。
        例外:
        XPathExpressionException - 式を評価できない場合。
      • evaluate

        Object evaluate​(InputSource source,
                        QName returnType)
                 throws XPathExpressionException
        指定されたInputSourceのコンテキストでコンパイル済みのXPath式を評価し、結果を指定された型として返します。

        このメソッドはInputSourceのデータ・モデルを構築し、結果として得られるドキュメント・オブジェクトに対してevaluate(Object item, QName returnType)を呼び出します。

        コンテキスト項目の評価、変数、関数、およびQNameの解決と戻り値の型の変換については「XPath式の評価」を参照してください。

        returnTypeXPathConstantsに定義された型でない場合、IllegalArgumentExceptionがスローされます。

        sourceまたはreturnTypenullの場合、NullPointerExceptionがスローされます。

        パラメータ:
        source - 評価するドキュメントのInputSource
        returnType - 目的の戻り値の型。
        戻り値:
        式を評価し、結果をreturnTypeに変換した結果であるObject
        例外:
        XPathExpressionException - 式を評価できない場合。
        IllegalArgumentException - returnTypeXPathConstantsに定義された型でない場合。
        NullPointerException - sourceまたはreturnTypenullの場合。
      • evaluate

        String evaluate​(InputSource source)
                 throws XPathExpressionException
        指定されたInputSourceのコンテキストでコンパイル済みのXPath式を評価し、結果をStringとして返します。

        このメソッドは、XPathConstants.STRINGreturnTypeを指定してevaluate(InputSource source, QName returnType)を呼び出します。

        コンテキスト項目の評価、変数、関数、およびQNameの解決と戻り値の型の変換については「XPath式の評価」を参照してください。

        sourcenullの場合、NullPointerExceptionがスローされます。

        パラメータ:
        source - 評価するドキュメントのInputSource
        戻り値:
        式を評価し、結果をStringに変換した結果であるString
        例外:
        XPathExpressionException - 式を評価できない場合。
        NullPointerException - sourcenullの場合。
      • evaluateExpression

        default <T> T evaluateExpression​(Object item,
                                         Class<T> type)
                                  throws XPathExpressionException
        指定されたコンテキストでコンパイルされたXPath式を評価し、class typeで指定された型の結果を返します。

        パラメータitemは、XPath式が操作されるコンテキストを表します。 コンテキストの型は実装依存です。 値がnullの場合、操作はコンテキストに依存しない必要があります。そうしないと、XPathExpressionExceptionがスローされます。

        実装要件:
        XPath APIのデフォルトの実装は、次のものと同等です:
         
             (T)evaluate(item, XPathEvaluationResult.XPathResultType.getQNameType(type));
         
        evaluateメソッドはANY型をサポートしていないため、XPathEvaluationResultを型として指定するとIllegalArgumentExceptionが発生します。 ANY型をサポートする実装では、このメソッドをオーバーライドする必要があります。
        実装上のノート:
        コンテキストの型は通常Nodeです。
        型パラメータ:
        T - XPath式によって返されるクラスの型。
        パラメータ:
        item - XPath式が評価されるコンテキスト。
        type - XPath式によって返されると予想されるクラスの型。
        戻り値:
        式を評価した結果。
        例外:
        XPathExpressionException - 式を評価できない場合。
        IllegalArgumentException - typeXPathResultTypeで定義された型に対応する型でないか、型としてXPathEvaluationResultが指定されていますが、ANY型をサポートする実装は使用できません。
        NullPointerException - typenullの場合。
        導入されたバージョン:
        9
      • evaluateExpression

        default XPathEvaluationResult<?> evaluateExpression​(Object item)
                                                     throws XPathExpressionException
        指定されたコンテキストでコンパイルされたXPath式を評価します。 これは、型XPathEvaluationResultevaluateExpression(Object item, Class type)を呼び出すのと同じです:
         
             evaluateExpression(item, XPathEvaluationResult.class);
         

        パラメータitemは、XPath式が操作されるコンテキストを表します。 コンテキストの型は実装依存です。 値がnullの場合、操作はコンテキストに依存しない必要があります。そうしないと、XPathExpressionExceptionがスローされます。

        実装要件:
        XPath APIのデフォルトの実装は、次のものと同等です:
         
             evaluateExpression(item, XPathEvaluationResult.class);
         
        evaluateメソッドはANY型をサポートしていないため、このメソッドのデフォルト実装では常にIllegalArgumentExceptionがスローされます。 したがって、ANY型をサポートする実装は、このメソッドをオーバーライドする必要があります。
        実装上のノート:
        コンテキストの型は通常Nodeです。
        パラメータ:
        item - XPath式が評価されるコンテキスト。
        戻り値:
        式を評価した結果。
        例外:
        XPathExpressionException - 式を評価できない場合。
        IllegalArgumentException - このメソッドの実装がANY型をサポートしていない場合。
        導入されたバージョン:
        9
      • evaluateExpression

        default <T> T evaluateExpression​(InputSource source,
                                         Class<T> type)
                                  throws XPathExpressionException
        指定されたコンテキストでコンパイルされたXPath式を評価し、class typeで指定された型の結果を返します

        このメソッドは、InputSourceのデータ・モデルを構築し、結果のドキュメント・オブジェクトに対してevaluateExpression(Object item, Class type)を呼び出します。

        デフォルトでは、JDKデータ・モデルはDocumentです。

        実装要件:
        XPath APIのデフォルトの実装は、次のものと同等です:
         
                   (T)evaluate(source, XPathEvaluationResult.XPathResultType.getQNameType(type));
         
        evaluateメソッドはANY型をサポートしていないため、XPathEvaluationResultを型として指定するとIllegalArgumentExceptionが発生します。 ANY型をサポートする実装では、このメソッドをオーバーライドする必要があります。
        型パラメータ:
        T - XPath式によって返されるクラスの型。
        パラメータ:
        source - 評価するドキュメントのInputSource
        type - XPath式によって返されると予想されるクラスの型。
        戻り値:
        式を評価した結果。
        例外:
        XPathExpressionException - 式を評価できない場合。
        IllegalArgumentException - typeXPathResultTypeで定義された型に対応する型でないか、型としてXPathEvaluationResultが指定されていますが、ANY型をサポートする実装は使用できません。
        NullPointerException - source or typenullの場合。
        導入されたバージョン:
        9
      • evaluateExpression

        default XPathEvaluationResult<?> evaluateExpression​(InputSource source)
                                                     throws XPathExpressionException
        指定されたコンテキストでコンパイルされたXPath式を評価します。 これは、型XPathEvaluationResultevaluateExpression(InputSource source, Class type)を呼び出すのと同じです:
         
             evaluateExpression(source, XPathEvaluationResult.class);
         
        実装要件:
        XPath APIのデフォルトの実装は、次のものと同等です:
         
             (XPathEvaluationResult)evaluateExpression(source, XPathEvaluationResult.class);
         
        evaluateメソッドはANY型をサポートしていないため、このメソッドのデフォルト実装では常にIllegalArgumentExceptionがスローされます。 したがって、ANY型をサポートする実装は、このメソッドをオーバーライドする必要があります。
        パラメータ:
        source - 評価するドキュメントのInputSource
        戻り値:
        式を評価した結果。
        例外:
        XPathExpressionException - 式を評価できない場合。
        IllegalArgumentException - このメソッドの実装がANY型をサポートしていない場合。
        NullPointerException - sourcenullの場合。
        導入されたバージョン:
        9