クラス ResourceEntityResolver

java.lang.ObjectSE
org.springframework.beans.factory.xml.DelegatingEntityResolver
org.springframework.beans.factory.xml.ResourceEntityResolver
実装されたすべてのインターフェース:
EntityResolverSE

public class ResourceEntityResolver extends DelegatingEntityResolver
該当する場合、ResourceLoader を介してエンティティ参照を解決しようとする EntityResolver 実装(通常、ApplicationContext のリソースベースに対して)。DelegatingEntityResolver を拡張して、DTD および XSD ルックアップも提供します。

標準の XML エンティティを使用して、XML スニペットをアプリケーションコンテキスト定義に含めることができます。たとえば、大きな XML ファイルをさまざまなモジュールに分割できます。インクルードパスは、JVM 作業ディレクトリ(XML パーサーのデフォルト)を基準にするのではなく、通常どおりアプリケーションコンテキストのリソースベースを基準にすることができます。

メモ: 相対パスに加えて、現在のシステムルート、つまり、JVM 作業ディレクトリ内のファイルを指定するすべての URL は、アプリケーションコンテキストを基準にして解釈されます。

導入:
31.07.2003
作成者:
Juergen Hoeller
関連事項:
  • コンストラクターの詳細

    • ResourceEntityResolver

      public ResourceEntityResolver(ResourceLoader resourceLoader)
      指定された ResourceLoader の ResourceEntityResolver(通常は ApplicationContext)を作成します。
      パラメーター:
      resourceLoader - XML エンティティを読み込む ResourceLoader(または ApplicationContext)インクルード
  • メソッドの詳細

    • resolveEntity

      @Nullable public InputSourceSE resolveEntity(@Nullable StringSE publicId, @Nullable StringSE systemId) throws SAXExceptionSE, IOExceptionSE
      次で指定:
      インターフェース EntityResolverSEresolveEntitySE 
      オーバーライド:
      クラス DelegatingEntityResolverresolveEntity 
      例外:
      SAXExceptionSE
      IOExceptionSE
    • resolveSchemaEntity

      @Nullable protected InputSourceSE resolveSchemaEntity(@Nullable StringSE publicId, StringSE systemId)
      「スキーマ」エンティティ (DTD または XSD) をローカルリソースとして解決できない場合に使用される resolveEntity(String, String) のフォールバックメソッド。デフォルトの動作は、HTTPS を介して リモート 解決を実行することです。

      サブクラスは、このメソッドをオーバーライドしてデフォルトの動作を変更できます。

      • null を返して、パーサーのデフォルトの動作SEにフォールバックします。
      • DTD または XSD の リモート 解決を防ぐために、例外をスローします。
      パラメーター:
      publicId - 参照されている外部エンティティの公開識別子、または指定されていない場合は null
      systemId - DTD または XSD の URL を表す、参照されている外部エンティティのシステム識別子
      戻り値:
      新しい入力ソースを記述する InputSource オブジェクト、またはパーサーがシステム識別子への通常の URI 接続を開くようにリクエストする null
      導入:
      6.0.4