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

インタフェース・カタログ


  • public interface Catalog
    Catalogクラスは、XML Catalogs、 OASIS Standard V1.1、 7 October 2005で定義されているエンティティ・カタログを表します。

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

    カタログは、次の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表カタログ機能の機能PREFERに関する説明を参照してください。 パブリック・エントリは、preferpublicで、systemエントリが見つからない場合にのみ考慮されます。

        解決方法は、次に示すステップに従います。

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

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

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

        このメソッドは、一致を検索するために、現在のカタログ内のuri, rewriteURI, uriSuffix, delegateURIおよびgroupエントリを含むURIタイプのエントリを検索します。

        解決方法は、次に示すステップに従います。

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

        パラメータ:
        uri - 照合されるエンティティのURI参照
        戻り値:
        マッピングが見つかった場合はURI文字列、それ以外の場合はnull
      • catalogs

        Stream<Catalog> catalogs()
        現在のカタログのnextCatalogエントリを使用して指定された代替カタログの順次ストリームを返します。また、CatalogManagerによってカタログ・オブジェクトが作成されたときに、現在のカタログ(つまり、入力リストの先頭)を除くカタログ・ファイルの入力として返します。

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

        戻り値:
        カタログの順次ストリーム