-
public interface XPathExpressionXPathExpressionはコンパイルされたXPath式へのアクセスを提供します。 XPath評価は、次の表で説明する要因の影響を受けます。XPath式の評価 要因 動作 コンテキスト コンテキストのタイプは実装に依存します。 値がnullの場合、操作はコンテキストに依存しない必要があり、そうでない場合はXPathExpressionExceptionがスローされます。 XPath式を評価するため、DocumentFragmentがドキュメント・ノードと同様に扱われる。 変数 式に変数の参照が含まれる場合、 XPathVariableResolverによってその値が見つけられる。 変数リゾルバが定義されていないか、リゾルバから変数に対してnullが返された場合、XPathExpressionExceptionが生成される。 変数の値は、1回の評価の過程を通じて不変でなければならない。関数 式に関数の参照が含まれる場合、 XPathFunctionResolverによって関数が見つけられる。 関数リゾルバが定義されていないか、関数リゾルバから関数に対してnullが返された場合、XPathExpressionExceptionが生成される。QName 式の中のQNameがXPath名前空間コンテキストに照らして解決される。 結果 式の評価の結果は目的の戻り値の型のインスタンスに変換される。 有効な戻り値の型は、 XPathConstantsに定義する。 戻り値の型への変換はXPath変換規則に従う。XPath式はスレッドセーフではなく、再入不可能です。 つまり、アプリケーション側で、どのような場合でも1つの
XPathExpressionオブジェクトが複数のスレッドから使用されることがないようにする必要があります。また、evaluateメソッドが呼び出されている間、アプリケーションは再帰的にevaluateメソッドを呼び出すことができません。- 導入されたバージョン:
- 1.5
- 関連項目:
- XML Path Language (XPath) Version 1.0, Expressions
-
-
メソッドのサマリー
すべてのメソッド インスタンス・メソッド 抽象メソッド デフォルト・メソッド 修飾子と型 メソッド 説明 Stringevaluate(Object item)指定されたコンテキストでコンパイル済みのXPath式を評価し、結果をStringとして返します。Objectevaluate(Object item, QName returnType)指定されたコンテキストでコンパイル済みのXPath式を評価し、結果を指定された型として返します。Stringevaluate(InputSource source)指定されたInputSourceのコンテキストでコンパイル済みのXPath式を評価し、結果をStringとして返します。Objectevaluate(InputSource source, QName returnType)指定されたInputSourceのコンテキストでコンパイル済みのXPath式を評価し、結果を指定された型として返します。default XPathEvaluationResult<?>evaluateExpression(Object item)指定したコンテキストでコンパイルされたXPath式を評価します。default <T> TevaluateExpression(Object item, Class<T> type)コンパイルされたXPath式を指定されたコンテキストで評価し、class typeで指定された型で結果を返します。default XPathEvaluationResult<?>evaluateExpression(InputSource source)指定したコンテキストでコンパイルされたXPath式を評価します。default <T> TevaluateExpression(InputSource source, Class<T> type)指定したコンテキストでコンパイルされたXPath式を評価し、class typeで指定された型で結果を返します
-
-
-
メソッドの詳細
-
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-returnTypeがXPathConstantsに定義された型でない場合。NullPointerException-returnTypeがnullの場合。
-
evaluate
String evaluate(Object item) throws XPathExpressionException
指定されたコンテキストでコンパイル済みのXPath式を評価し、結果をStringとして返します。このメソッドは、
XPathConstants.STRINGのreturnTypeを指定して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式の評価」を参照してください。
returnTypeがXPathConstantsに定義された型でない場合、IllegalArgumentExceptionがスローされます。sourceまたはreturnTypeがnullの場合、NullPointerExceptionがスローされます。- パラメータ:
source- 評価するドキュメントのInputSource。returnType- 目的の戻り値の型。- 戻り値:
- 式を評価し、結果を
returnTypeに変換した結果であるObject。 - 例外:
XPathExpressionException- 式を評価できない場合。IllegalArgumentException-returnTypeがXPathConstantsに定義された型でない場合。NullPointerException-sourceまたはreturnTypeがnullの場合。
-
evaluate
String evaluate(InputSource source) throws XPathExpressionException
指定されたInputSourceのコンテキストでコンパイル済みのXPath式を評価し、結果をStringとして返します。このメソッドは、
XPathConstants.STRINGのreturnTypeを指定してevaluate(InputSource source, QName returnType)を呼び出します。コンテキスト項目の評価、変数、関数、およびQNameの解決と戻り値の型の変換については「XPath式の評価」を参照してください。
sourceがnullの場合、NullPointerExceptionがスローされます。- パラメータ:
source- 評価するドキュメントのInputSource。- 戻り値:
- 式を評価し、結果を
Stringに変換した結果であるString。 - 例外:
XPathExpressionException- 式を評価できない場合。NullPointerException-sourceがnullの場合。
-
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-typeがXPathResultTypeで定義された型に対応する型でない場合、またはXPathEvaluationResultが型として指定されているが、ANY型をサポートする実装が使用できない場合。NullPointerException-typeがnullの場合。- 導入されたバージョン:
- 9
-
evaluateExpression
default XPathEvaluationResult<?> evaluateExpression(Object item) throws XPathExpressionException
指定したコンテキストでコンパイルされたXPath式を評価します。 これは、XPathEvaluationResult型でevaluateExpression(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-typeがXPathResultTypeで定義された型に対応する型でない場合、またはXPathEvaluationResultが型として指定されているが、ANY型をサポートする実装が使用できない場合。NullPointerException-source or typeがnullの場合。- 導入されたバージョン:
- 9
-
evaluateExpression
default XPathEvaluationResult<?> evaluateExpression(InputSource source) throws XPathExpressionException
指定したコンテキストでコンパイルされたXPath式を評価します。 これは、XPathEvaluationResult型でevaluateExpression(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-sourceがnullの場合。- 導入されたバージョン:
- 9
-
-