XPathFactory
インスタンスを使用して、XPath
オブジェクトを作成できます。
検索メカニズムについては、newInstance(String uri)
を参照してください。
XPathFactory
クラスはスレッドに対して安全ではありません。 つまり、アプリケーション側で、どのような場合もXPathFactory
オブジェクトを使用するスレッドが1つだけであるようにする必要があります。 実装では、メソッドにsynchronized
のマークを付けて、障害のあるクライアントから保護することをお勧めします。
XPathFactory
は再入不可能です。 newInstance
メソッドの1つが呼び出されているときに、アプリケーションは、同じスレッドからであっても、newInstance
メソッドを再帰的に呼び出すことはできません。
- 導入されたバージョン:
- 1.5
-
フィールドのサマリー
-
コンストラクタのサマリー
修飾子コンストラクタ説明protected
newInstance()
、newInstance(String uri)
、またはnewInstance(String uri, String factoryClassName, ClassLoader classLoader)
としてprotectedコンストラクタを使用して、XPathFactory
の新しいインスタンスを作成する必要があります。 -
メソッドのサマリー
修飾子と型メソッド説明abstract boolean
getFeature
(String name) 名前が付けられた機能の状態を取得します。abstract boolean
isObjectModelSupported
(String objectModel) 指定されたオブジェクト・モデルがこのXPathFactory
にサポートされているかを返します。static XPathFactory
XPathFactory
組み込みシステムのデフォルト実装の新しいインスタンスを作成します。static XPathFactory
デフォルトのオブジェクト・モデル、DEFAULT_OBJECT_MODEL_URI
、W3C DOMを使用して、新しいXPathFactory
インスタンスを取得します。static XPathFactory
newInstance
(String uri) 指定されたオブジェクト・モデルを使用して、新しいXPathFactory
インスタンスを取得します。static XPathFactory
newInstance
(String uri, String factoryClassName, ClassLoader classLoader) ファクトリ・クラス名からXPathFactory
の新しいインスタンスを取得します。abstract XPath
newXPath()
XPathFactory
がインスタンス化された際に特定された基本となるオブジェクト・モデルを使用して、新しいXPath
を返します。abstract void
setFeature
(String name, boolean value) このファクトリによって生成されたXPathFactory
およびXPath
の機能を設定します。abstract void
デフォルトの関数リゾルバを設定します。abstract void
デフォルトの変数リゾルバを設定します。
-
フィールド詳細
-
コンストラクタの詳細
-
XPathFactory
protected XPathFactory()newInstance()
、newInstance(String uri)
、またはnewInstance(String uri, String factoryClassName, ClassLoader classLoader)
としてprotectedコンストラクタを使用して、XPathFactory
の新しいインスタンスを作成する必要があります。
-
-
メソッドの詳細
-
newDefaultInstance
public static XPathFactory newDefaultInstance()XPathFactory
組み込みシステムのデフォルト実装の新しいインスタンスを作成します。- 実装要件:
XPathFactory
組み込みシステムのデフォルトの実装は、default object model
、W3C DOMをサポートするためにのみ必要ですが、追加のオブジェクト・モデルをサポートすることもできます。- 戻り値:
XPathFactory
組み込みシステムのデフォルト実装の新しいインスタンス。- 導入されたバージョン:
- 9
-
newInstance
public static XPathFactory newInstance()デフォルトのオブジェクト・モデル、
DEFAULT_OBJECT_MODEL_URI
、W3C DOMを使用して、新しいXPathFactory
インスタンスを取得します。このメソッドは、機能的には次と同等です。
newInstance(DEFAULT_OBJECT_MODEL_URI)
W3C DOMの実装が常に使用できるため、このメソッドが失敗することはありません。
- 戻り値:
XPathFactory
のインスタンス。- 例外:
RuntimeException
- デフォルトのオブジェクト・モデルに対するXPathFactory
の作成時にエラーが発生した場合。
-
newInstance
public static XPathFactory newInstance(String uri) throws XPathFactoryConfigurationException 指定されたオブジェクト・モデルを使用して、新しいXPathFactory
インスタンスを取得します。 このメソッドは、「JAXPルックアップ・メカニズム」を使用して、指定したオブジェクト・モデルをサポートするXPathFactory
実装を特定およびロードします。トラブルシューティングのヒント:
プロパティ・ファイルがどのように構文解析されるかについては、
Properties.load(java.io.InputStream)
を参照してください。 特に、コロン「:」は、プロパティ・ファイル内でエスケープされる必要があるため、URIが適切にエスケープされていることを確認してください。 たとえば、http\://java.sun.com/jaxp/xpath/dom=org.acme.DomXPathFactory
- パラメータ:
uri
- 基本となるオブジェクト・モデルを識別する。 仕様は、URIDEFAULT_OBJECT_MODEL_URI
、W3C DOMの場合はhttp://java.sun.com/jaxp/xpath/dom
、org.w3c.domパッケージのみを定義し、実装はほかのオブジェクト・モデルのURIを自由に導入可能。- 戻り値:
XPathFactory
のインスタンス。- 例外:
XPathFactoryConfigurationException
- 指定されたオブジェクト・モデルが使用できない場合、または構成エラーがある場合。NullPointerException
-uri
がnull
の場合。IllegalArgumentException
-uri
がnull
またはuri.length()== 0
の場合。
-
newInstance
public static XPathFactory newInstance(String uri, String factoryClassName, ClassLoader classLoader) throws XPathFactoryConfigurationException ファクトリ・クラス名から
XPathFactory
の新しいインスタンスを取得します。 指定されたファクトリ・クラスが指定されたオブジェクト・モデルをサポートする場合、XPathFactory
が返されます。 この関数は、クラス・パスに複数のプロバイダがある場合に便利です。 どのプロバイダがロードされるかを指定できるため、アプリケーションをさらに制御できます。トラブルシューティングのヒント
jaxp.debug
システム・プロパティを設定すると、このメソッドは実行中の処理や検索している場所に関する大量のデバッグ・メッセージをSystem.err
に出力します。問題がある場合、次のようにします。
java -Djaxp.debug=1 YourProgram ....
- パラメータ:
uri
- 基本となるオブジェクト・モデルを識別する。 仕様は、URIDEFAULT_OBJECT_MODEL_URI
、W3C DOMの場合はhttp://java.sun.com/jaxp/xpath/dom
、org.w3c.domパッケージのみを定義し、実装はほかのオブジェクト・モデルのURIを自由に導入可能。factoryClassName
-javax.xml.xpath.XPathFactory
の実装を提供する完全修飾のファクトリ・クラス名。classLoader
- ファクトリ・クラスのロードに使用されるClassLoader
。null
の場合は、現在のThread
のコンテキストclassLoaderが、ファクトリ・クラスのロードに使用されます。- 戻り値:
XPathFactory
の新しいインスタンス- 例外:
XPathFactoryConfigurationException
-factoryClassName
がnull
の場合。または、ファクトリ・クラスをロードおよびインスタンス化できない場合。または、ファクトリ・クラスがuri
パラメータで指定されたオブジェクト・モデルをサポートしない場合。NullPointerException
-uri
がnull
の場合。IllegalArgumentException
-uri
がnull
またはuri.length()== 0
の場合。- 導入されたバージョン:
- 1.6
- 関連項目:
-
isObjectModelSupported
public abstract boolean isObjectModelSupported(String objectModel) 指定されたオブジェクト・モデルがこの
XPathFactory
にサポートされているかを返します。- パラメータ:
objectModel
- 返されたXPathFactory
を認識するオブジェクト・モデルを指定する。- 戻り値:
XPathFactory
がobjectModel
をサポートしている場合はtrue
、そうでない場合はfalse
。- 例外:
NullPointerException
-objectModel
がnull
の場合。IllegalArgumentException
-objectModel.length()== 0
の場合。
-
setFeature
public abstract void setFeature(String name, boolean value) throws XPathFactoryConfigurationException このファクトリによって生成された
XPathFactory
およびXPath
の機能を設定します。機能名は完全修飾
URI
です。 実装が独自の機能を定義することもできます。 生成するXPathFactory
またはXPath
がその機能をサポートできない場合は、XPathFactoryConfigurationException
がスローされます。XPathFactory
は機能の値を表示できますが、その状態を変更することはできません。実装はすべて、
XMLConstants.FEATURE_SECURE_PROCESSING
機能をサポートしている必要があります。 機能がtrue
の場合は、外部関数を参照するとエラーになります。 こうした場合、実装はXPathFunctionResolver
を呼び出せないので、XPathFunctionException
をスローします。- パラメータ:
name
- 機能名。value
- 機能の状態がtrue
かfalse
か。- 例外:
XPathFactoryConfigurationException
- このXPathFactory
またはそれによって作成されるXPath
がこの機能をサポートできない場合。NullPointerException
-name
がnull
の場合。
-
getFeature
public abstract boolean getFeature(String name) throws XPathFactoryConfigurationException 名前が付けられた機能の状態を取得します。
機能名は完全修飾
URI
です。 実装が独自の機能を定義することもできます。 生成するXPathFactory
またはXPath
がその機能をサポートできない場合は、XPathFactoryConfigurationException
がスローされます。XPathFactory
は機能の値を表示できますが、その状態を変更することはできません。- パラメータ:
name
- 機能名。- 戻り値:
- 名前が付けられた機能の状態。
- 例外:
XPathFactoryConfigurationException
- このXPathFactory
またはそれによって作成されるXPath
がこの機能をサポートできない場合。NullPointerException
-name
がnull
の場合。
-
setXPathVariableResolver
public abstract void setXPathVariableResolver(XPathVariableResolver resolver) デフォルトの変数リゾルバを設定します。
このファクトリで構築された
XPath
オブジェクトは、デフォルトで指定されたリゾルバを使用します。resolver
がnull
の場合、NullPointerException
がスローされます。- パラメータ:
resolver
- 変数リゾルバ。- 例外:
NullPointerException
-resolver
がnull
の場合。
-
setXPathFunctionResolver
public abstract void setXPathFunctionResolver(XPathFunctionResolver resolver) デフォルトの関数リゾルバを設定します。
このファクトリで構築された
XPath
オブジェクトは、デフォルトで指定されたリゾルバを使用します。resolver
がnull
の場合、NullPointerException
がスローされます。- パラメータ:
resolver
- XPath関数リゾルバ。- 例外:
NullPointerException
-resolver
がnull
の場合。
-
newXPath
public abstract XPath newXPath()XPathFactory
がインスタンス化された際に特定された基本となるオブジェクト・モデルを使用して、新しいXPath
を返します。- 戻り値:
XPath
の新しいインスタンス。
-