始める前に
XMLレジストリを作成して、WebLogic Serverインスタンスと関連付けます。詳細は、XMLレジストリの作成を参照してください。
外部エンティティとは、XMLドキュメント内に記述されていないものの、XMLドキュメント内で参照される様々なテキストのことです。実際のテキストは、同じコンピュータの他のファイル内、あるいはWeb上など、どこにあってもかまいません。パーサーは、ドキュメントの解析中に外部エンティティの参照に遭遇すると、参照先のテキストをフェッチして、そのテキストをXMLドキュメント内に配置してから解析を続行します。外部エンティティの例としてDTDがあります。XMLドキュメントではDTDのテキストがすべて記述されているのではなく、別のファイルに格納されているDTDを参照します。
WebLogic Serverで外部エンティティ解決を構成する場合、WebLogic管理サーバーからアクセス可能なディレクトリにエンティティ・ファイルを物理的にコピーして、XMLドキュメントで外部エンティティへの参照があるときは、管理サーバーでローカル・コピーが使用されるように指定します。
このトピックの手順では、サンプルとして次のXMLファイルを使用します。
<?xml version="1.0"?> <!-- This XML document describes a car --> <!DOCTYPE CAR PUBLIC "-//Oracle//DTD for cars//EN" "http://www.oracle.com/dtds/car.dtd"> <CAR> <MAKE>Toyota</MAKE> <MODEL>Corrolla</MODEL> <YEAR>1998</YEAR> <ENGINE>1.5L</ENGINE> <HP>149</HP> </CAR>
外部エンティティ解決エントリを構成するには:
-//Oracle//DTD for cars//EN
になります。
http://www.oracle.com/dtds/car.dtd
になります。
DOMAIN
/xml/registries/
reg_name
が存在することを確認してください。DOMAIN
は、ドメイン・ディレクトリ、reg_name
は、XMLレジストリの名前です。ディレクトリが存在しない場合は作成します。
DOMAIN
/xml/registries/
reg_name
を基準とした相対パス名とします。
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エンティティ・キャッシュの作成を参照してください。