模块 java.xml

接口 Catalog


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

目录是一个 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
  • 方法总结

    修饰符和类型
    方法
    描述
    返回使用当前目录中的 nextCatalog 条目指定的替代目录的顺序流,并在目录对象由 CatalogManager 创建时作为目录文件的输入,不包括当前目录(即输入列表中的第一个目录)。
    matchPublic(String publicId)
    尝试通过 publicId 在目录中查找匹配的条目。
    matchSystem(String systemId)
    尝试通过 systemId 在目录中查找匹配的条目。
    尝试通过 uri 元素在目录中查找匹配条目。
  • 方法详情

    • 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 中关于目录功能表中的功能偏好的描述。仅当未找到 preferpublicsystem 条目时才考虑公共条目。

      解决方案遵循下列步骤:

      • 如果找到匹配的 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 创建时作为目录文件的输入,不包括当前目录(即输入列表中的第一个目录)。

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

      返回:
      连续的目录流