public interface Catalog
Catalog 类表示由 XML 目录,OASIS 标准 V1.1,2005 年 10 月 7 日 定义的实体 Catalog。
目录是一个 XML 文件,其中包含带有目录条目列表的根 catalog
条目。这些条目也可以与 group
条目分组。目录和组条目可以指定 prefer
和 xml:base
属性,这些属性设置公共或系统类型条目的首选项和基本 URI 以解析相对 URI。
目录可以在两种情况下使用:
- 使用公共或系统标识符定位外部资源;
- 使用 URI 找到备用 URI 引用。
对于案例 1,标准定义了 6 个外部标识符条目:public, system, rewriteSystem, systemSuffix, delegatePublic, and delegateSystem
.
而对于案例 2,它定义了 4 个 URI 条目:uri, rewriteURI, uriSuffix and delegateURI
.
除了上述条目类型之外,目录还可以定义 nextCatalog 条目以添加其他目录条目文件。
- 自从:
- 9
-
方法总结
修饰符和类型方法描述catalogs()
返回使用当前目录中的nextCatalog
条目指定的替代目录的顺序流,并在目录对象由CatalogManager
创建时作为目录文件的输入,不包括当前目录(即输入列表中的第一个目录)。matchPublic
(String publicId) 尝试通过 publicId 在目录中查找匹配的条目。matchSystem
(String systemId) 尝试通过 systemId 在目录中查找匹配的条目。尝试通过 uri 元素在目录中查找匹配条目。
-
方法详情
-
matchSystem
尝试通过 systemId 在目录中查找匹配的条目。该方法搜索系统类型条目,包括当前目录中的
system, rewriteSystem, systemSuffix, delegateSystem
和group
条目,以找到匹配项。解决方案遵循下列步骤:
- 如果存在匹配的
system
条目,则立即返回。 - 如果有多个
rewriteSystem
条目匹配,则返回具有最长归一化systemIdStartString
值的匹配条目。 - 如果有多个
systemSuffix
条目匹配,则返回具有最长归一化systemIdSuffix
值的匹配条目。 - 如果有多个
delegateSystem
条目匹配,则返回具有最长匹配systemIdStartString
值的匹配条目。
- 参数:
systemId
- 要匹配的实体的系统标识符- 返回:
- 如果找到映射,则为 URI 字符串,否则为 null
- 如果存在匹配的
-
matchPublic
尝试通过 publicId 在目录中查找匹配的条目。该方法搜索公共类型条目,包括当前目录中的public, delegatePublic
和group
条目,以找到匹配项。参考类
CatalogFeatures
中关于目录功能表中的功能偏好的描述。仅当未找到prefer
是public
和system
条目时才考虑公共条目。解决方案遵循下列步骤:
- 如果找到匹配的
public
条目,则会立即返回。 - 如果有多个
delegatePublic
条目匹配,则返回具有最长匹配publicIdStartString
值的匹配条目。
- 参数:
publicId
- 要匹配的实体的公共标识符- 返回:
- 如果找到映射,则为 URI 字符串,否则为 null
- 参见:
- 如果找到匹配的
-
matchURI
尝试通过 uri 元素在目录中查找匹配条目。该方法搜索 uri 类型的条目,包括当前目录中的
uri, rewriteURI, uriSuffix, delegateURI
和group
条目,以找到匹配项。解决方案遵循下列步骤:
- 如果找到匹配的
uri
条目,则会立即返回。 - 如果有多个
rewriteURI
条目匹配,则返回具有最长归一化uriStartString
值的匹配条目。 - 如果有多个
uriSuffix
条目匹配,则返回具有最长归一化uriSuffix
值的匹配条目。 - 如果有多个
delegatePublic
条目匹配,则返回具有最长匹配uriStartString
值的匹配条目。
- 参数:
uri
- 要匹配的实体的 URI 引用- 返回:
- 如果找到映射,则为 URI 字符串,否则为 null
- 如果找到匹配的
-
catalogs
返回使用当前目录中的nextCatalog
条目指定的替代目录的顺序流,并在目录对象由CatalogManager
创建时作为目录文件的输入,不包括当前目录(即输入列表中的第一个目录)。返回流中目录的顺序与对应的
nextCatalog
条目在当前目录中出现的顺序相同。输入文件列表中的备选目录按照它们输入的顺序附加到流的末尾。- 返回:
- 连续的目录流
-