始める前に
XML レジストリを作成して、WebLogic Server インスタンスと関連付けます。詳細については、XML レジストリの作成を参照してください。
外部エンティティとは、XML ドキュメント内に記述されていないものの、XML ドキュメント内で参照されるさまざまなテキストのことです。実際のテキストは、同じコンピュータの他のファイル内、あるいは Web 上など、どこにあってもかまいません。パーサは、ドキュメントの解析中に外部エンティティの参照に遭遇すると、参照先のテキストをフェッチして、そのテキストを XML ドキュメント内に配置してから解析を続行します。外部エンティティの例として DTD があります。XML ドキュメントでは DTD のテキストがすべて記述されているのではなく、別のファイルに格納されている DTD を参照します。
WebLogic Server で外部エンティティ解決をコンフィグレーションする場合、WebLogic 管理サーバからアクセス可能なディレクトリにエンティティ ファイルを物理的にコピーして、XML ドキュメントで外部エンティティへの参照があるときは、管理サーバでローカル コピーが使用されるように指定します。
このトピックの手順では、サンプルとして次の XML ファイルを使用します。
<?xml version="1.0"?> <!-- この XML ドキュメントでは、自動車を説明 --> <!DOCTYPE CAR PUBLIC "-//BEA Systems, Inc.//DTD for cars//EN" "http://www.bea.com/dtds/car.dtd"> <CAR> <MAKE>Toyota</MAKE> <MODEL>Corrolla</MODEL> <YEAR>1998</YEAR> <ENGINE>1.5L</ENGINE> <HP>149</HP> </CAR>
外部エンティティ解決エントリをコンフィグレーションするには、次の手順に従います。
-//BEA Systems, Inc.//DTD for cars//EN
になります。
http://www.bea.com/dtds/car.dtd
になります。
DOMAIN
/xml/registries/
reg_name
が存在することを確認してください。DOMAIN
は、ドメイン ディレクトリ、reg_name
は、XML レジストリの名前です。ディレクトリが存在しない場合は作成します。
DOMAIN
/xml/registries/
reg_name
を基準とした相対パス名とします。
たとえば、car.xml
ファイルの場合、[エンティティ URI] フィールドに dtds/car.dtd
と入力できます。
application.xml
ファイル用の DTD を参照するには http://java.sun.com/j2ee/dtds/application_1_2.dtd
と入力します。また、データベースのエンティティを参照するには jdbc:
と入力します。
外部エンティティを指定するには、http://
、file://
、jdbc:
、または ftp://
のプロトコル宣言を使用します。
このフィールドのデフォルト値は -1 です。これは、WebLogic Server に対しグローバル タイムアウト値が使用されることを意味します。
たとえば、ディレクトリ DOMAIN
/xml/registries/
reg_name
/dtds
に、car.dtd
ファイルをコピーします。DOMAIN
は、ドメイン ディレクトリ、reg_name
は XML レジストリの名前です。
完了した後に
XML エンティティ キャッシュを作成して、WebLogic Server インスタンスと関連付けます。XML エンティティ キャッシュの作成を参照してください。