模块 java.xml

接口 LSResourceResolver

所有已知的子接口:
CatalogResolver

public interface LSResourceResolver
LSResourceResolver 为应用程序提供了一种将引用重定向到外部资源的方法。

需要为外部资源实现自定义处理的应用程序可以实现此接口并通过设置附加到 LSParserLSSerializerDOMConfiguration 对象的“资源解析器”参数来注册它们的实现。如果支持“LS”功能,它也可以在附加到 DocumentDOMConfiguration 对象上注册。

LSParser 然后将允许应用程序在包含它们之前拦截任何外部实体,包括外部 DTD 子集和外部参数实体。顶级文档实体永远不会传递给 resolveResource 方法。

许多 DOM 应用程序不需要实现此接口,但它对于从数据库或其他专用输入源构建 XML 文档的应用程序或使用 URN 的应用程序特别有用。

笔记:LSResourceResolver 基于 SAX2 [SAX ] EntityResolver 接口。

另见 文档对象模型 (DOM) 级别 3 加载和保存规范

自从:
1.5
  • 方法详情

    • resolveResource

      LSInput  resolveResource(String  type, String  namespaceURI, String  publicId, String  systemId, String  baseURI)
      允许应用程序解析外部资源。
      LSParser 将在打开任何外部资源之前调用此方法,包括外部 DTD 子集、DTD 中引用的外部实体以及文档元素中引用的外部实体(但是,顶级文档实体不会传递给此方法)。然后,应用程序可能会请求 LSParser 自行解析外部资源,使用替代 URI,或者使用完全不同的输入源。
      应用程序编写者可以使用此方法将外部系统标识符重定向到安全和/或本地 URI,在目录中查找公共标识符,或者从数据库或其他输入源(包括,例如,对话框)读取实体.
      参数:
      type - 正在解析的资源类型。对于 XML [XML 1.0 ] 资源(即实体),应用程序必须使用值 "http://www.w3.org/TR/REC-xml" 。对于 XML 架构 [XML 架构第 1 部分],应用程序必须使用值 "http://www.w3.org/2001/XMLSchema"。其他类型的资源不在本规范的范围内,因此应该推荐一个绝对 URI 以便使用此方法。
      namespaceURI - 正在解析的资源的命名空间,例如解析 XML 模式资源时 XML 模式的目标命名空间 [XML 架构第 1 部分]。
      publicId - 被引用的外部实体的公共标识符,如果没有提供公共标识符或资源不是实体,则为 null
      systemId - 被引用的外部资源的系统标识符,URI 引用 [IETF RFC 2396 ],如果未提供系统标识符,则为 null
      baseURI - 正在解析的资源的绝对基础 URI,如果没有基础 URI,则为 null
      返回:
      描述新输入源的 LSInput 对象,或 null 请求解析器打开到资源的常规 URI 连接。