XFactory クラス
これは、XFactory クラスが提供するメソッドのおおまかな概説です。個々のメソッドについては、 インフォメーション・センターの他のトピックで詳しく説明されています。
XFactory クラスは、XPath、XQuery、および XSLT 対応の実行可能プログラムを作成するための 主要なファクトリー・クラスです。このクラスは、また、 XStaticContext、XDynamicContext、XItemFactory、および XSequenceTypeFactory クラスなどの 他のクラスおよびファクトリーのインスタンスを作成するための手段でもあります。また、XFactory のインスタンスは、登録済みのスキーマ・セットを保持し、検証ファクトリーである場合と、検証を行わないファクトリーである場合があります。検証ファクトリーは、スキーマ認識実行可能プログラムを作成し、 ソース文書が処理される前に、ソース文書が登録済みスキーマ・セットに対して有効になるようにします。 さまざまなスタイルシートまたは式のセットが、異なるスキーマ・セットを必要とする場合には、 複数の XFactory インスタンスを使用してそれらのスキーマ・セットを区別することができます。 XFactory インスタンスは、XFactory クラスの static newInstance() メソッドを呼び出すことによって 作成できます。インスタンスは、設定が継続している限り、スレッド・セーフです。
以下に、XFactory クラスの使用例を示します。
// Create a new XFactory
XFactory factory = XFactory.newInstance();
// Create an XPath executable
XPathExecutable executable = factory.prepareXPath("/something/bar[2]");
// Create a new XStaticContext
XStaticContext staticContext = factory.newStaticContext();
// Create an XPath executable that is compiled in backwards
// compatibility mode
staticContext.setXPathCompatibilityMode(XStaticContext.XPATH1_0_BC_COMPATIBILITY);
XPathExecutable bcExecutable = factory.prepareXPath("/something/bar[2]", staticContext);
// Set validating
factory.setValidating(true);
// Register a schema
factory.registerSchema(new StreamSource("myschema.xsd"));
// Create a schema aware XPath executable
staticContext = factory.newStaticContext();
staticContext.declareNamespace("something", "http://myschema/something");
XPathExecutable schemaExecutable = factory.prepareXPath("/something:something/bar[2] instance of element(bar, something:barType)", staticContext);
// Get the item factory for this XFactory (the two are related
// since the item factory depends on the schemas that are
// registered with XFactory).
XItemFactory itemFactory = factory.getItemFactory();