Module java.xml

Interface Catalog


public interface Catalog
Catalog类表示由 XML目录,OASIS标准V1.1,2005年10月7日定义的实体目录。

目录是一个包含根catalog条目和目录条目列表的XML文件。条目也可以使用group条目进行分组。目录和组条目可以指定preferxml:base属性,以设置公共或系统类型条目的优先级和解析相对URI的基本URI。

目录可用于两种情况:

  • 通过公共或系统标识符定位外部资源;
  • 通过URI定位替代URI引用。

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

而对于情况2,它定义了4个URI条目:
uri, rewriteURI, uriSuffix和delegateURI

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

自:
9
  • Method Summary

    Modifier and Type
    Method
    Description
    返回一个顺序流,其中包含当前目录中使用nextCatalog条目指定的备用目录,以及由CatalogManager创建的Catalog对象的输入目录文件(即输入列表中的第一个目录)。
    matchPublic(String publicId)
    通过publicId在目录中尝试查找匹配的条目。
    matchSystem(String systemId)
    通过systemId在目录中尝试查找匹配的条目。
    通过uri元素在目录中尝试查找匹配的条目。
  • Method Details

    • 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条目)按顺序搜索以找到匹配项。

      请参阅类CatalogFeatures中的表Catalog Features中关于prefer特性的描述。只有在preferpublic且未找到system条目时,才会考虑公共条目。

      解析遵循下面列出的步骤:

      • 如果找到匹配的public条目,则立即返回。
      • 如果有多个匹配的delegatePublic条目,则返回具有最长匹配publicIdStartString值的匹配条目。
      参数:
      publicId - 要匹配的实体的公共标识符
      返回:
      如果找到映射,则返回URI字符串;否则返回null
      参见:
    • 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创建的Catalog对象的输入目录文件(即输入列表中的第一个目录)。

      返回流中的目录顺序与当前目录中相应的nextCatalog条目出现的顺序相同。来自输入文件列表的备用目录按它们输入的顺序附加到流的末尾。

      返回:
      一个顺序流的目录