XPathFactoryインスタンスを使用して、XPathオブジェクトを作成できます。
検索メカニズムについては、newInstance(String uri)を参照してください。
XPathFactoryクラスはスレッドに対して安全ではありません。 つまり、アプリケーション側で、どのような場合もXPathFactoryオブジェクトを使用するスレッドが1つだけであるようにする必要があります。 実装では、メソッドにsynchronizedのマークを付けて、障害のあるクライアントから保護することをお勧めします。 
 
XPathFactoryは再入不可能です。 newInstanceメソッドの1つが呼び出されているときに、アプリケーションは、同じスレッドからであっても、newInstanceメソッドを再帰的に呼び出すことはできません。 
- 導入されたバージョン:
- 1.5
- 
フィールドのサマリーフィールド
- 
コンストラクタのサマリーコンストラクタ修飾子コンストラクタ説明protectednewInstance()、newInstance(String uri)、またはnewInstance(String uri, String factoryClassName, ClassLoader classLoader)としてprotectedコンストラクタを使用して、XPathFactoryの新しいインスタンスを作成する必要があります。
- 
メソッドのサマリー修飾子と型メソッド説明abstract booleangetFeature(String name) 名前が付けられた機能の状態を取得します。getProperty(String name) 指定されたプロパティの値を返します。abstract booleanisObjectModelSupported(String objectModel) 指定されたオブジェクト・モデルがこのXPathFactoryにサポートされているかを返します。static XPathFactoryXPathFactory組み込みシステムのデフォルト実装の新しいインスタンスを作成します。static XPathFactoryデフォルトのオブジェクト・モデル、DEFAULT_OBJECT_MODEL_URI、W3C DOMを使用して、新しいXPathFactoryインスタンスを取得します。static XPathFactorynewInstance(String uri) 指定されたオブジェクト・モデルを使用して、新しいXPathFactoryインスタンスを取得します。static XPathFactorynewInstance(String uri, String factoryClassName, ClassLoader classLoader) ファクトリ・クラス名からXPathFactoryの新しいインスタンスを取得します。abstract XPathnewXPath()XPathFactoryがインスタンス化された際に特定された基本となるオブジェクト・モデルを使用して、新しいXPathを返します。abstract voidsetFeature(String name, boolean value) このXPathFactoryの機能を設定します。voidsetProperty(String name, String value) このXPathFactoryのプロパティを設定します。abstract voidデフォルトの関数リゾルバを設定します。abstract voidデフォルトの変数リゾルバを設定します。
- 
フィールド詳細
- 
コンストラクタの詳細- 
XPathFactoryprotected XPathFactory()newInstance()、newInstance(String uri)、またはnewInstance(String uri, String factoryClassName, ClassLoader classLoader)としてprotectedコンストラクタを使用して、XPathFactoryの新しいインスタンスを作成する必要があります。
 
- 
- 
メソッドの詳細- 
newDefaultInstancepublic static XPathFactory newDefaultInstance()XPathFactory組み込みシステムのデフォルト実装の新しいインスタンスを作成します。- 実装要件:
- XPathFactory組み込みシステムのデフォルトの実装は、- default object model、W3C DOMをサポートするためにのみ必要ですが、追加のオブジェクト・モデルをサポートすることもできます。
- 戻り値:
- XPathFactory組み込みシステムのデフォルト実装の新しいインスタンス。
- 導入されたバージョン:
- 9
 
- 
newInstancepublic static XPathFactory newInstance()デフォルトのオブジェクト・モデル、 DEFAULT_OBJECT_MODEL_URI、W3C DOMを使用して、新しいXPathFactoryインスタンスを取得します。このメソッドは、機能的には次と同等です。 newInstance(DEFAULT_OBJECT_MODEL_URI) W3C DOMの実装が常に使用できるため、このメソッドが失敗することはありません。 - 戻り値:
- XPathFactoryのインスタンス。
- 例外:
- RuntimeException- デフォルトのオブジェクト・モデルに対する- XPathFactoryの作成時にエラーが発生した場合。
 
- 
newInstancepublic 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- 基本となるオブジェクト・モデルを識別する。 仕様は、URI- DEFAULT_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の場合。
 
- 
newInstancepublic static XPathFactory newInstance(String uri, String factoryClassName, ClassLoader classLoader) throws XPathFactoryConfigurationException ファクトリ・クラス名から XPathFactoryの新しいインスタンスを取得します。 指定されたファクトリ・クラスが指定されたオブジェクト・モデルをサポートする場合、XPathFactoryが返されます。 この関数は、クラス・パスに複数のプロバイダがある場合に便利です。 どのプロバイダがロードされるかを指定できるため、アプリケーションをさらに制御できます。トラブルシューティングのヒントjaxp.debugシステム・プロパティを設定すると、このメソッドは実行中の処理や検索している場所に関する大量のデバッグ・メッセージをSystem.errに出力します。問題がある場合、次のようにします。 java -Djaxp.debug=1 YourProgram .... - パラメータ:
- uri- 基本となるオブジェクト・モデルを識別する。 仕様は、URI- DEFAULT_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
- 関連項目:
 
- 
isObjectModelSupportedpublic abstract boolean isObjectModelSupported(String objectModel) 指定されたオブジェクト・モデルがこの XPathFactoryにサポートされているかを返します。- パラメータ:
- objectModel- 返された- XPathFactoryを認識するオブジェクト・モデルを指定する。
- 戻り値:
- XPathFactoryが- objectModelをサポートしている場合は- true、そうでない場合は- false。
- 例外:
- NullPointerException-- objectModelが- nullの場合。
- IllegalArgumentException-- objectModel.length()== 0の場合。
 
- 
setFeaturepublic abstract void setFeature(String name, boolean value) throws XPathFactoryConfigurationException このXPathFactoryの機能を設定します。 この機能は、XPathFactoryによって作成されるXPathオブジェクトに適用されます。 すでに作成されているXPathオブジェクトには影響しません。機能名は完全修飾 URIです。 実装が独自の機能を定義することもできます。 生成するXPathFactoryまたはXPathがその機能をサポートできない場合は、XPathFactoryConfigurationExceptionがスローされます。XPathFactoryは機能の値を表示できますが、その状態を変更することはできません。実装はすべて、 XMLConstants.FEATURE_SECURE_PROCESSING機能をサポートしている必要があります。 機能がtrueの場合は、外部関数を参照するとエラーになります。 こうした場合、実装はXPathFunctionResolverを呼び出せないので、XPathFunctionExceptionをスローします。- パラメータ:
- name- 機能名。
- value- 機能の状態が- trueか- falseか。
- 例外:
- XPathFactoryConfigurationException- この- XPathFactoryまたはそれによって作成される- XPathがこの機能をサポートできない場合。
- NullPointerException-- nameが- nullの場合。
 
- 
getFeaturepublic abstract boolean getFeature(String name) throws XPathFactoryConfigurationException 名前が付けられた機能の状態を取得します。 機能名は完全修飾 URIです。 実装が独自の機能を定義することもできます。 生成するXPathFactoryまたはXPathがその機能をサポートできない場合は、XPathFactoryConfigurationExceptionがスローされます。XPathFactoryは機能の値を表示できますが、その状態を変更することはできません。- パラメータ:
- name- 機能名。
- 戻り値:
- 名前が付けられた機能の状態。
- 例外:
- XPathFactoryConfigurationException- この- XPathFactoryまたはそれによって作成される- XPathがこの機能をサポートできない場合。
- NullPointerException-- nameが- nullの場合。
 
- 
setXPathVariableResolverpublic abstract void setXPathVariableResolver(XPathVariableResolver resolver) デフォルトの変数リゾルバを設定します。 このファクトリで構築された XPathオブジェクトは、デフォルトで指定されたリゾルバを使用します。resolverがnullの場合、NullPointerExceptionがスローされます。- パラメータ:
- resolver- 変数リゾルバ。
- 例外:
- NullPointerException-- resolverが- nullの場合。
 
- 
setXPathFunctionResolverpublic abstract void setXPathFunctionResolver(XPathFunctionResolver resolver) デフォルトの関数リゾルバを設定します。 このファクトリで構築された XPathオブジェクトは、デフォルトで指定されたリゾルバを使用します。resolverがnullの場合、NullPointerExceptionがスローされます。- パラメータ:
- resolver- XPath関数リゾルバ。
- 例外:
- NullPointerException-- resolverが- nullの場合。
 
- 
newXPathpublic abstract XPath newXPath()XPathFactoryがインスタンス化された際に特定された基本となるオブジェクト・モデルを使用して、新しいXPathを返します。- 戻り値:
- XPathの新しいインスタンス。
 
- 
setPropertyこのXPathFactoryのプロパティを設定します。 このプロパティは、XPathFactoryによって作成されるXPathオブジェクトに適用されます。 すでに作成されているXPathオブジェクトには影響しません。プロパティは、この XPathFactoryで定義することも、基礎となる実装で定義することもできます。- 実装要件:
- デフォルト実装は、UnsupportedOperationExceptionをスローします。
- パラメータ:
- name- プロパティ名
- value- プロパティの値
- 例外:
- IllegalArgumentException- プロパティ名が認識されない場合、または値を割り当てることができない場合
- UnsupportedOperationException- 実装でメソッドがサポートされていない場合
- NullPointerException-- nameが- nullである場合
- 導入されたバージョン:
- 18
 
- 
getProperty指定されたプロパティの値を返します。- 実装要件:
- デフォルト実装は、UnsupportedOperationExceptionをスローします。
- パラメータ:
- name- プロパティ名
- 戻り値:
- プロパティの値。
- 例外:
- IllegalArgumentException- プロパティ名が認識されない場合
- UnsupportedOperationException- 実装でメソッドがサポートされていない場合
- NullPointerException-- nameが- nullである場合
- 導入されたバージョン:
- 18
 
 
-