モジュール java.xml
パッケージ javax.xml.catalog

インタフェースCatalog


public interface Catalog
Catalogクラスは、「XMLカタログ、OASIS標準V1.1、2005年10月7日」によって定義されたエンティティ・カタログを表します。

カタログは、カタログ・エントリのリストを含むルートcatalogエントリを含むXMLファイルです。 エントリは、groupエントリでグループ化することもできます。 catalogおよびgroupエントリは、パブリックまたはシステム型のエントリの優先度と相対URIを解決するためのベースURIを設定するpreferおよびxml:base属性を指定できます。

カタログは、次の2つの状況で使用できます:

  • パブリックまたはシステム識別子を使用して外部リソースを特定
  • URIを持つ別のURI参照を探します。

ケース1の場合、標準では6つの外部識別子エントリが定義されています:
public, system, rewriteSystem, systemSuffix, delegatePublic, and delegateSystem

ケース2の場合、4つのURIエントリを定義します:
uri, rewriteURI, uriSuffix and delegateURI

上記のエントリ型に加えて、カタログは、追加のカタログ・エントリ・ファイルを追加するためにnextCatalogエントリを定義することができます。

導入されたバージョン:
9
  • メソッドのサマリー

    修飾子と型 メソッド 説明
    Stream<Catalog> catalogs()
    現在のカタログのnextCatalogエントリを使用して指定された代替カタログの連続ストリームを返します。カタログ・オブジェクトがCatalogManagerによって作成されると、現在のカタログ(すなわち、入力リストの最初のもの)を除いたカタログ・ファイルの入力として返されます。
    String matchPublic​(String publicId)
    publicIdによってカタログ内の一致するエントリを検索しようとします。
    String matchSystem​(String systemId)
    systemIdによってカタログ内の一致するエントリを検索しようとします。
    String matchURI​(String uri)
    uri要素によってカタログ内の一致するエントリを検索しようとします。
  • メソッドの詳細

    • matchSystem

      String matchSystem​(String systemId)
      systemIdによってカタログ内の一致するエントリを検索しようとします。

      このメソッドは、一致するものを見つけるために、現在のカタログ内のsystem, rewriteSystem, systemSuffix, delegateSystemおよびgroupエントリを含むシステム型エントリを検索します。

      解像度は以下のステップに従います:

      • 一致するsystemエントリが存在する場合、それはただちに返されます。
      • 複数のrewriteSystemエントリが一致する場合、最も長い正規化されたsystemIdStartString値を持つ一致するエントリが返されます。
      • 複数のsystemSuffixエントリが一致する場合、最も長い正規化されたsystemIdSuffix値を持つ一致するエントリが返されます。
      • 複数のdelegateSystemエントリが一致する場合、最も長い一致するsystemIdStartString値を持つ一致エントリが返されます。

      パラメータ:
      systemId - 一致するエンティティのシステム識別子
      戻り値:
      マッピングが見つかった場合はURI文字列、そうでない場合はnull
    • matchPublic

      String matchPublic​(String publicId)
      publicIdによってカタログ内の一致するエントリを検索しようとします。 このメソッドは、一致するものを見つけるために、現在のカタログのpublic, delegatePublicおよびgroupエントリを含むパブリック型のエントリを検索します。

      クラスCatalogFeatures「表のカタログ機能の優先機能」についての説明を参照してください。 preferpublicであり、systemエントリが見つからない場合にのみ、公開エントリが検討されます。

      解像度は以下のステップに従います:

      • 一致するpublicエントリが見つかった場合、直ちにそれが戻されます。
      • 複数のdelegatePublicエントリが一致する場合、最も長い一致するpublicIdStartString値を持つ一致エントリが返されます。

      パラメータ:
      publicId - 一致するエンティティの公開識別子
      戻り値:
      マッピングが見つかった場合はURI文字列、そうでない場合はnull
      関連項目:
      CatalogFeatures.Feature
    • matchURI

      String matchURI​(String uri)
      uri要素によってカタログ内の一致するエントリを検索しようとします。

      このメソッドは、一致するものを見つけるために、現在のカタログのuri, rewriteURI, uriSuffix, delegateURIgroupエントリを含むuri-typeエントリを検索します。

      解像度は以下のステップに従います:

      • 一致するuriエントリが見つかった場合、直ちにそれが戻されます。
      • 複数のrewriteURIエントリが一致する場合、最も長い正規化されたuriStartString値を持つ一致するエントリが返されます。
      • 複数のuriSuffixエントリが一致する場合、最も長い正規化されたuriSuffix値を持つ一致するエントリが返されます。
      • 複数のdelegatePublicエントリが一致する場合、最も長い一致するuriStartString値を持つ一致エントリが返されます。

      パラメータ:
      uri - 一致するエンティティのURI参照
      戻り値:
      マッピングが見つかった場合はURI文字列、そうでない場合はnull
    • catalogs

      Stream<Catalog> catalogs()
      現在のカタログのnextCatalogエントリを使用して指定された代替カタログの連続ストリームを返します。カタログ・オブジェクトがCatalogManagerによって作成されると、現在のカタログ(すなわち、入力リストの最初のもの)を除いたカタログ・ファイルの入力として返されます。

      返されるストリーム内のカタログの順序は、対応するnextCatalogエントリが現在のカタログに表示される順序と同じです。 入力ファイル・リストの代替カタログは、入力された順にストリームの最後に追加されます。

      戻り値:
      カタログの連続ストリーム