Oracle Containers for J2EE
構成および管理ガイド
10g(10.1.3.4.0) B50866-01 |
|
この章では、XMLファイル検証を実行する場合に必要な、XMLファイルの検証を実行する場合に必要な新しいエンティティ(特にXML形式のデプロイメント・ディスクリプタの定義に使用されるベンダー固有のDTDおよびXSD)をOC4J内で登録するプロセスについて説明します。この項の内容は次のとおりです。
OC4Jには、ファイルを読み取る際にXSDで定義されているXMLデプロイメント・ディスクリプタを検証する機能があります。この機能を有効にするには、OC4Jの起動時にoc4j.jar
コマンドラインで-validateXML
引数を渡します。コマンドライン・オプションの詳細は、第4章「OC4Jランタイムの構成」を参照してください。
検証には、XML文書を定義するXSDがOC4Jサーバーに登録されている必要があります。このエンティティが登録されていないと、XML検証は実行できません。
XML文書が読み取られると、パーサーは、文書に宣言されているXSDを識別する1つ以上のキーを、エンティティ・リゾルバとして知られるOC4Jコンポーネントに渡します。エンティティ・リゾルバは、登録済エンティティの場所を解決してパーサーに返し、XML文書を検証できるようにします。
エンティティの参照には、公開識別子とシステム識別子の2種類のキーが使用されます。どちらの識別子もXML文書に宣言されます。
エンティティ・リゾルバでエンティティを検出できるようにするには、entity-resolver-config.xml
ファイルのエントリを使用して、これらの識別子のいずれかまたは両方をOC4Jに登録する必要があります。また、エンティティの場所もこのファイルに指定する必要があります。
デフォルトでは、entity-resolver-config.xml
には標準J2EE XSDの他、すべてのOC4J固有のXSDの登録エントリがすでにあります。このため、J2EE以外またはOC4J以外のエンティティに対するエントリの追加のみが必要となります。
DTDまたはXSDをOC4Jに登録するには、entity-resolver-config.xml
ファイルに追加する必要があります。このファイルは、OC4Jホスト・マシンのORACLE_HOME
/j2ee/
instance
/config
ディレクトリにあります。
各エンティティは、<entity>
要素内に宣言されます。この要素には次のサブ要素があります。
<description>
: エンティティの任意の説明が含まれます。
<public-id>
: エンティティの公開識別子が含まれます。
<system-id>
: エンティティのシステム識別子が含まれます。 <public-id>
または<system-id>
のいずれかを指定する必要がありますが、両方を指定する必要はありません。
<location>
: エンティティの場所を指定します。この場所は、エンティティへの完全修飾パスまたはローカルに解決できるURLのいずれかです。
次の<entity>
要素は、acme-web.dtd
をOC4Jに登録します。XML文書内の<!DOCTYPE>
要素に宣言されている公開識別子とシステム識別子はいずれも登録されます。
<entity> <description>acme-web-2_0.dtd</description> <public-id>-//Acme//Acme web Descriptor 2.0//EN</public-id> <system-id>http://xmlns.acme.com/dtd/acme-web-2_0.dtd</system-id> <location>META-INF/acme-web-2_0.dtd</location> </entity>
次の例では、acme-application.xsd
をOC4Jに登録します。システム識別子は、XML文書内のルート要素のxsi:schemaLocation
またはxsi:noNamespaceSchemaLocation
属性のいずれかに宣言されています。
<entity> <description>acme-application-1_0.xsd</description> <public-id /> <system-id>http://xmlns.acme.com/schema/acme-application-1_0.xsd</system-id> <location>META-INF/acme-application-1_0.xsd</location> </entity>
|
Copyright © 2006, 2008 Oracle Corporation. All Rights Reserved. |
|