インタフェースXPathExpression
XPathExpressionはコンパイルされた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
- 関連項目:
-
メソッドのサマリー
修飾子と型メソッド説明指定されたコンテキストでコンパイル済みのXPath式を評価し、結果をStringとして返します。指定されたコンテキストでコンパイル済みのXPath式を評価し、結果を指定された型として返します。evaluate(InputSource source) 指定されたInputSourceのコンテキストでコンパイル済みのXPath式を評価し、結果をStringとして返します。evaluate(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
指定されたコンテキストでコンパイル済みのXPath式を評価し、結果を指定された型として返します。コンテキスト項目の評価、変数、関数、およびQNameの解決と戻り値の型の変換については「XPath式の評価」を参照してください。
パラメータ
itemは、XPath式が操作されるコンテキストを表します。 コンテキストのタイプは実装に依存します。 値がnullの場合、操作にはコンテキストへの依存関係がなく、そうでない場合、XPathExpressionExceptionがスローされます。- 実装上のノート:
- コンテキストの型は通常
Nodeです。 - パラメータ:
item- XPath式が評価されるコンテキスト。returnType- 結果タイプは、XPath式によって返される必要があります。- 戻り値:
- 式を評価し、結果を
returnTypeに変換した結果であるObject。 - スロー:
XPathExpressionException- 式を評価できない場合。IllegalArgumentException-returnTypeがXPathConstantsに定義された型でない場合。NullPointerException-returnTypeがnullの場合。
-
evaluate
指定されたコンテキストでコンパイル済みのXPath式を評価し、結果をStringとして返します。このメソッドは、
XPathConstants.STRINGのreturnTypeを指定して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式の評価」を参照してください。
returnTypeがXPathConstantsに定義された型でない場合、IllegalArgumentExceptionがスローされます。sourceまたはreturnTypeがnullの場合、NullPointerExceptionがスローされます。- パラメータ:
source- 評価するドキュメントのInputSource。returnType- 目的の戻り値の型。- 戻り値:
- 式を評価し、結果を
returnTypeに変換した結果であるObject。 - スロー:
XPathExpressionException- 式を評価できない場合。IllegalArgumentException-returnTypeがXPathConstantsに定義された型でない場合。NullPointerException-source or returnTypeがnullの場合。
-
evaluate
指定された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式によって返されるクラス・タイプは、パッケージ・サマリーのセクション「3.2 クラス・タイプ」で説明されているタイプの1つである必要があります。- 戻り値:
- 式を評価した結果。
- スロー:
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式によって返されるクラス・タイプは、パッケージ・サマリーのセクション「3.2 クラス・タイプ」で説明されているタイプの1つである必要があります。- 戻り値:
- 式を評価した結果。
- スロー:
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
-