3.3.1 スキーマキャッシュ機能の概要
スキーマキャッシュ機能とは,XMLパーサがスキーマ文書を解析して取得できる文法定義をあらかじめオブジェクトの状態でキャッシュし,スキーマ検証時に再利用することで検証パースの実行速度を向上させる機能です。
スキーマキャッシュ機能では,メモリ上およびディスク上にキャッシュを作成できます。また,JAXP1.2のAPIを使ったプログラムでも,ソースを改造することなく検証パースの実行速度を向上させることができます。
スキーマキャッシュ機能を使用する場合の前提条件,および適用範囲について説明します。
(1) 前提条件
スキーマキャッシュ機能は,J2EEサーバ上で動作するユーザプログラムがjavax.xml.parsers.DocumentBuilderクラス(DOMパーサ)を使ってXML文書をパースする場合だけ有効となります。
スキーマキャッシュ機能を使用する場合の制約を次に示します。
-
javax.xml.validationパッケージを使ったスキーマ検証では,スキーマキャッシュ機能が適用されません。
-
parseメソッドの引数にFileオブジェクトを渡した場合,パーサが内部で保持するスキーマ文書ファイル名の一部が,キャッシュ構築時のファイル名と一致しなくなります。そのため,スキーマキャッシュ機能が使用できません。
(2) 適用範囲
次に示すスキーマ文書がキャッシュの対象となります。
-
スキーマ定義ファイルで指定されたスキーマ文書
-
スキーマ定義ファイルで指定されたスキーマ文書から,次の要素によって直接または間接的に参照されるスキーマ文書
-
import要素
-
include要素
-
redefine要素
-
なお,1つのマシン上で複数のJ2EEサーバが起動された場合,スキーマキャッシュ機能はサーバごとに独立して動作します。