模块  java.xml
软件包  javax.xml.catalog

Interface Catalog


  • public interface Catalog
    Catalog类表示由XML Catalogs, OASIS Standard V1.1, 7 October 2005定义的实体目录。

    目录是一个XML文件,其中包含一个带有目录条目列表的根catalog条目。 条目也可以与group条目分组。 目录和组条目可以指定设置公共或系统类型的条目的首选项的preferxml:base属性以及用于解析相对URI的基URI。

    目录可以在两种情况下使用:

    • 使用公共或系统标识符查找外部资源;
    • 使用URI查找备用URI引用。

    对于案例1,标准定义了6个外部标识符条目:
    public, system, rewriteSystem, systemSuffix, delegatePublic, and delegateSystem

    而对于案例2,它定义了4个URI条目:
    uri, rewriteURI, uriSuffix and delegateURI

    除了上述条目类型之外,目录还可以定义nextCatalog条目以添加其他目录条目文件。

    从以下版本开始:
    9
    • 方法详细信息

      • matchSystem

        String matchSystem​(String systemId)
        尝试通过systemId在目录中查找匹配的条目。

        该方法搜索当前目录中的系统类型条目,包括system, rewriteSystem, systemSuffix, delegateSystemgroup条目,以便查找匹配项。

        决议遵循以下步骤:

        • 如果存在匹配的system条目,则立即返回。
        • 如果多个rewriteSystem条目匹配,则返回具有最长规范化systemIdStartString值的匹配条目。
        • 如果多个systemSuffix条目匹配,则返回具有最长标准化值systemIdSuffix值的匹配条目。
        • 如果多个delegateSystem条目匹配,则返回具有最长匹配值systemIdStartString的匹配条目。
        参数
        systemId - 要匹配的实体的系统标识符
        结果
        如果找到映射,则为URI字符串,否则为null
      • matchPublic

        String matchPublic​(String publicId)
        尝试通过publicId在目录中查找匹配的条目。 该方法搜索当前目录中的公共类型条目,包括public, delegatePublicgroup条目,以查找匹配项。

        请参阅有关描述Feature PREFER in the table Catalog FeaturesCatalogFeatures 仅当preferpublic system找到system条目时,才会考虑公共条目。

        决议遵循以下步骤:

        • 如果找到匹配的public条目,则立即返回。
        • 如果多个delegatePublic条目匹配,则返回具有最长匹配值publicIdStartString的匹配条目。
        参数
        publicId - 要匹配的实体的公共标识符
        结果
        如果找到映射,则为URI字符串,否则为null
        另请参见:
        CatalogFeatures.Feature
      • matchURI

        String matchURI​(String uri)
        尝试通过uri元素在目录中查找匹配的条目。

        该方法搜索uri类型的条目,包括当前目录中的uri, rewriteURI, uriSuffix, delegateURIgroup条目以查找匹配项。

        决议遵循以下步骤:

        • 如果找到匹配的uri条目,则立即返回。
        • 如果多个rewriteURI条目匹配,则返回具有最长标准化值uriStartString值的匹配条目。
        • 如果多个uriSuffix条目匹配,则返回具有最长标准化值uriSuffix值的匹配条目。
        • 如果多个delegatePublic条目匹配,则返回具有最长匹配值uriStartString的匹配条目。
        参数
        uri - 要匹配的实体的URI引用
        结果
        如果找到映射,则为URI字符串,否则为null
      • catalogs

        Stream<Catalog> catalogs()
        返回使用当前目录中的nextCatalog条目指定的备用目录的顺序流,以及CatalogManager创建目录对象时目录文件的输入(目录文件的输入),当前目录(即输入列表中的第一个) 除外

        返回流中的目录顺序与相应的nextCatalog条目在当前目录中的显示顺序相同。 输入文件列表中的备用目录按输入顺序附加到流的末尾。

        结果
        顺序的目录流