Administration Console オンライン ヘルプ

  前 次 前/次ボタンと目次ボタンとの区切り線 目次  

外部エンティティ解決のコンフィグレーション

始める前に

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>

外部エンティティ解決エントリをコンフィグレーションするには、次の手順に従います。

  1. まだ行っていない場合、Administration Console のチェンジ センタで [ロックして編集] をクリックします (チェンジ センタの使用を参照)。
  2. 左ペインで、[サービス] を展開し、[XML レジストリ] を選択します。
  3. [XML レジストリ] テーブルで、外部エンティティ解決のエントリを作成する XML レジストリをクリックします。
  4. [XML レジストリ名の設定] ページで、[コンテンツ|エンティティ スペックのエントリ] を選択します。
  5. [新規作成] をクリックします。
  6. [パブリック ID] フィールドに、XML ドキュメントで外部エンティティの参照に使用するパブリック ID を入力します。たとえば、このページの上記のサンプル XML ドキュメントのパブリック ID は、-//BEA Systems, Inc.//DTD for cars//EN になります。
  7. [システム ID] フィールドに、XML ドキュメントで外部エンティティの参照に使用するシステム ID を入力します。サンプル XML ドキュメントのシステム ID は、http://www.bea.com/dtds/car.dtd になります。
  8. 外部エンティティのローカル コピーをコンフィグレーションする場合、XML レジストリ エンティティのディレクトリ DOMAIN/xml/registries/reg_name が存在することを確認してください。DOMAIN は、ドメイン ディレクトリ、reg_name は、XML レジストリの名前です。ディレクトリが存在しない場合は作成します。
  9. [エンティティ URI] フィールドに、次の 2 つのエンティティ パスのいずれかを入力します。
    1. 管理サーバにあるエンティティ ファイルのコピーのパス名。このパス名は、レジストリ エントリのディレクトリ DOMAIN/xml/registries/reg_name を基準とした相対パス名とします。

      たとえば、car.xml ファイルの場合、[エンティティ URI] フィールドに dtds/car.dtd と入力できます。

    2. Web に公開される外部エンティティ、またはレポジトリに格納されているエンティティを示す URL。たとえば、J2EE エンタープライズ アプリケーションの記述に使用される application.xml ファイル用の DTD を参照するには http://java.sun.com/j2ee/dtds/application_1_2.dtd と入力します。また、データベースのエンティティを参照するには jdbc: と入力します。

      外部エンティティを指定するには、http://file://jdbc:、または ftp:// のプロトコル宣言を使用します。

  10. [キャッシュのタイミング] リスト ボックスから次のオプションのうち 1 つを選択します。
    1. [参照時] : URL によって参照される外部エンティティが、XML ドキュメントで最初に参照されるときにそのエンティティをキャッシュします。
    2. [初期化時] : サーバの起動時に外部エンティティをキャッシュします。
    3. [レジストリの設定に従う] : デフォルトのキャッシュ設定を使用します。
    4. [キャッシュしない] : 外部エンティティをキャッシュしません。
  11. [キャッシュ タイムアウト間隔] フィールドに、キャッシュされた外部エンティティが古くなる (期限切れになる) までの秒数を入力します。WebLogic Server では、キャッシュされたコピーがこの秒数よりも長くキャッシュ内に存在する場合、管理サーバを基準とした相対パス名または指定の URL から、外部エンティティを再取得します。

    このフィールドのデフォルト値は -1 です。これは、WebLogic Server に対しグローバル タイムアウト値が使用されることを意味します。

  12. [OK] をクリックします。
  13. Web のエンティティをキャッシュするのではなく、エンティティのローカル コピーが使用されるように指定した場合、エンティティ ディレクトリにエンティティ ファイルをコピーします。

    たとえば、ディレクトリ DOMAIN/xml/registries/reg_name/dtds に、car.dtd ファイルをコピーします。DOMAIN は、ドメイン ディレクトリ、reg_name は XML レジストリの名前です。

  14. これらの変更をアクティブにするには、Administration Console のチェンジ センタで [変更のアクティブ化] をクリックします。
    すべての変更が即座に有効になるわけではありません。再起動が必要なものもあります (チェンジ センタの使用を参照)。

完了した後に

XML エンティティ キャッシュを作成して、WebLogic Server インスタンスと関連付けます。XML エンティティ キャッシュの作成を参照してください。

 

Skip navigation bar ページの先頭