-
public interface XPathExpression
XPathExpression
はコンパイルされた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
-
-
メソッドのサマリー
すべてのメソッド インスタンス・メソッド 抽象メソッド デフォルト・メソッド 修飾子と型 メソッド 説明 String
evaluate(Object item)
指定されたコンテキストでコンパイル済みのXPath式を評価し、結果をString
として返します。Object
evaluate(Object item, QName returnType)
指定されたコンテキストでコンパイル済みのXPath式を評価し、結果を指定された型として返します。String
evaluate(InputSource source)
指定されたInputSource
のコンテキストでコンパイル済みのXPath式を評価し、結果をString
として返します。Object
evaluate(InputSource source, QName returnType)
指定されたInputSource
のコンテキストでコンパイル済みのXPath式を評価し、結果を指定された型として返します。default XPathEvaluationResult<?>
evaluateExpression(Object item)
指定されたコンテキストでコンパイルされたXPath式を評価します。default <T> T
evaluateExpression(Object item, Class<T> type)
指定されたコンテキストでコンパイルされたXPath式を評価し、class type
で指定された型の結果を返します。default XPathEvaluationResult<?>
evaluateExpression(InputSource source)
指定されたコンテキストでコンパイルされたXPath式を評価します。default <T> T
evaluateExpression(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
-
-