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)名前が付けられた機能の状態を取得します。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およびXPathの機能を設定します。abstract voidsetXPathFunctionResolver(XPathFunctionResolver resolver)デフォルトの関数リゾルバを設定します。abstract voidsetXPathVariableResolver(XPathVariableResolver resolver)デフォルトの変数リゾルバを設定します。
- 
フィールド詳細
- 
コンストラクタの詳細- 
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インスタンスを取得します。XPathFactoryオブジェクトを検索する場合、このメソッドは「クラス・ローダー」がコンテキスト・クラス・ローダーを参照する次の順番で、次の場所を調べます。- 
     システム・プロパティ DEFAULT_PROPERTY_NAME+:uriが存在し、uriがこのメソッドのパラメータである場合、その値はクラス名として読み取られる。 このメソッドは、クラス・ローダーを使用してこのクラスの新しいインスタンスの作成を試み、成功した場合はそれを返します。
- 
     構成ファイル"jaxp.properties"を使用します。 このファイルは標準の Properties形式であり、通常Javaインストールのconfディレクトリにあります。 これには、実装クラスの完全修飾名が格納されています。jaxp.propertiesファイルはJAXP実装によって一度だけ読み込まれ、その値は将来の使用のためにキャッシュされます。 最初の読込み時にファイルが存在しないと、そのあとにその存在がチェックされることはない。 最初に読み込まれたあと、jaxp.propertiesのプロパティの値を変更することはできない。 
- 
     ServiceLoaderクラスで定義されているサービス・プロバイダ・ローディング機能を使用して、デフォルトのロード・メカニズムを使用してサービスの実装を特定してロード: サービス・プロバイダ・ローディング機能は、現在のスレッド・コンテキスト・クラス・ローダーを使用してサービスをロードしようとします。 コンテキスト・クラス・ローダーがnullの場合、システム・クラス・ローダーが使用されます。
 使用される可能性のある各サービス・プロバイダは、メソッドisObjectModelSupported(String objectModel)を実装している必要があります。 指定されたオブジェクト・モデルをサポートする最初に検出されたサービス・プロバイダが返されます。ServiceConfigurationErrorが発生した場合、XPathFactoryConfigurationExceptionがスローされます。
- 
     プラットフォームのデフォルト XPathFactoryは、実装固有の方法で配置される。 W3C DOMの「プラットフォームのデフォルト」XPathFactory、つまりDEFAULT_OBJECT_MODEL_URIが必要です。
 すべてが失敗した場合、 XPathFactoryConfigurationExceptionがスローされます。トラブルシューティングのヒント: プロパティ・ファイルがどのように構文解析されるかについては、 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
- 関連項目:
- newInstance(),- newInstance(String uri)
 
- 
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および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の新しいインスタンス。
 
 
-