スキーマ定義ファイルに関する注意事項を次の表に示します。
表6-34 スキーマ定義ファイルに関する注意事項
項番 | 注意事項 |
---|---|
1 | schema_xxxプロパティの設定値の末尾に記載された",D"は,ディスクキャッシュ指定子と見なされるため,",D"で終わるスキーマ文書ファイル名は使用しないでください。 |
2 | xsd:importによって参照されるスキーマ文書は,スキーマ定義ファイルの指定とは関係なく,常にメモリ上にキャッシュされます。xsd:includeまたはxsd:redefineによって参照されるスキーマ文書は,参照元のスキーマ文書のgrammarオブジェクトに吸収されるため,キャッシュ場所(メモリまたはディスク)も参照元のスキーマ文書と同じになります。 |
3 | 検証で使用するスキーマ文書が,http://java.sun.com/xml/jaxp/properties/schemaSourceプロパティで「InputStream」および「オブジェクトの配列」の形で指定された場合,検証時にキャッシュが使用されません。 キャッシュを使用できるのは,スキーマ文書が「String」,「File」,「InputSource」のどれかの形で指定された場合だけです。ただし,InputSourceの場合,getSystemIdメソッドでシステム識別子が取得できる必要があります。 |
4 | キャッシュの構築中にパースエラーが発生した場合,エラーレベルにかかわらず,エラーの原因となったスキーマ文書およびその文書を参照するスキーマ文書はキャッシュされません。 |
5 | <JAXP_DIR>※の下のcache_infoディレクトリ(INFOディレクトリ)以下には,スキーマキャッシュ機能がキャッシュ構築・削除で使用する内部ファイル(INFOファイル)が格納されます。このため,<JAXP_DIR>※のディスク使用量が100%を超えた場合,キャッシュ機能が正常に動作しなくなるおそれがあります。 |
6 | diskcache_pathプロパティで指定したディレクトリ以下のディレクトリやファイルは,スキーマキャッシュ機能によって変更・削除されます。そのため,diskcache_pathプロパティにはシステムが使用するディレクトリを指定しないでください。 |
7 | エンティティリゾルバを使用して,外部参照の解決を行う必要のあるXMLスキーマ文書をスキーマ定義ファイルに指定した場合,キャッシュ構築時に外部参照の解決が行えません。そのため,スキーマ文書の解析に失敗し,キャッシュが構築されません。 |