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

インタフェースXPathExpression


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

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

導入されたバージョン:
1.5
関連項目:
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    指定されたコンテキストでコンパイル済みのXPath式を評価し、結果をStringとして返します。
    evaluate(Object item, QName returnType)
    指定されたコンテキストでコンパイル済みのXPath式を評価し、結果を指定された型として返します。
    指定されたInputSourceのコンテキストでコンパイル済みのXPath式を評価し、結果をStringとして返します。
    evaluate(InputSource source, QName returnType)
    指定されたInputSourceのコンテキストでコンパイル済みのXPath式を評価し、結果を指定された型として返します。
    指定されたコンテキストでコンパイルされたXPath式を評価します。
    default <T> T
    指定されたコンテキストでコンパイルされたXPath式を評価し、class typeで指定された型の結果を返します。
    指定されたコンテキストでコンパイルされたXPath式を評価します。
    default <T> T
    指定されたコンテキストでコンパイルされたXPath式を評価し、class typeで指定された型の結果を返します
  • メソッドの詳細

    • evaluate

      指定されたコンテキストでコンパイル済みのXPath式を評価し、結果を指定された型として返します。

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

      パラメータitemは、XPath式が操作されるコンテキストを表します。 コンテキストのタイプは実装に依存します。 値がnullの場合、操作にはコンテキストへの依存関係がなく、そうでない場合、XPathExpressionExceptionがスローされます。

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

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

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

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

      パラメータitemは、XPath式が操作されるコンテキストを表します。 コンテキストのタイプは実装に依存します。 値がnullの場合、操作にはコンテキストへの依存関係がなく、そうでない場合、XPathExpressionExceptionがスローされます。

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

      指定された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 or returnTypenullの場合。
    • evaluate

      指定された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式によって返されるクラス・タイプは、パッケージ・サマリーのセクション「3.2 クラス・タイプ」で説明されているタイプの1つである必要があります。
      戻り値:
      式を評価した結果。
      例外:
      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式によって返されるクラス・タイプは、パッケージ・サマリーのセクション「3.2 クラス・タイプ」で説明されているタイプの1つである必要があります。
      戻り値:
      式を評価した結果。
      例外:
      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