静的および動的コンテキストの使用
XML API が提供する 2 つのコンテキスト・インターフェース XStaticContext および XDynamicContext を使用することができます。
このタスクについて
- 静的コンテキストは、作成時の特性を構成するために使用されます。
注: 作成時とは、XFactory の場合は作成メソッドのいずれかを実行することを指し、XCompilationFactory の場合は コンパイル・メソッドのいずれかを実行することを指します。
静的コンテキストは、実行可能ファイルの作成に 必要な項目を定義します。項目には、実行時だけでなく、後方互換性や演算モードなどのコンパイル・モードでも使用可能となる外部変数および 関数の名前や型などがあります。 これらの項目は、呼び出しの間は変更されません。
- 動的コンテキストは、実行時の特性を構成するために使用されます。
動的コンテキストは、実行可能ファイルの呼び出しごとに固有の項目を定義します。 項目には、外部変数、外部関数の実装、および外部入力または結果へのリゾルバーの値などがあります。 これらの項目は、呼び出しの間に変更される可能性があります。
作成時の特性は、スレッド・セーフにすることができるように、XFactory インスタンスで 直接設定されることはありません。同様のことが実行時の特性にも言えます。 実行可能オブジェクト自体がスレッド・セーフになるように、実行時の特性は XExecutable インスタンスと は別のオブジェクトに保管されます。
作成と実行のステップ自体は別個のものになっています。 作成には時間がかかり、実行のたびに作成することは非効率であるためです。 ステップを分けることにより、式、照会、またはスタイルシートの作成を一度で行うことができ、 その後、結果として得られる実行可能オブジェクトを使用していくつもの入力文書を処理することができます。
手順
次のタスク
XStaticContext および XDynamicContext インターフェースは、3 つの言語 (XPath、XQuery、および XSLT) すべての設定値を マージします。どの設定値がどの言語に適用されるかを調べるには、以下に示す関連タスクの当該言語に関する「基本操作の実行」の項目を参照してください。