Module java.xml
Package org.w3c.dom.ls

Interface LSResourceResolver

已知的所有子接口:
CatalogResolver

public interface LSResourceResolver
LSResourceResolver提供了一种应用程序重定向对外部资源的引用的方式。

需要实现对外部资源的自定义处理的应用程序可以实现此接口,并通过设置附加到LSParserLSSerializerDOMConfiguration对象的"resource-resolver"参数来注册其实现。如果支持"LS"特性,也可以在附加到DocumentDOMConfiguration对象上注册。

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

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

注意: LSResourceResolver基于SAX2 [SAX] EntityResolver接口。

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

自版本:
1.5
  • Method Details

    • 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 Schema [XML Schema Part 1],应用程序必须使用值"http://www.w3.org/2001/XMLSchema"。其他类型的资源超出了本规范的范围,因此应该推荐使用绝对URI以使用此方法。
      namespaceURI - 要解析的资源的命名空间,例如解析XML Schema资源时的XML Schema [XML Schema Part 1]的目标命名空间。
      publicId - 被引用的外部实体的公共标识符,如果未提供公共标识符或资源不是实体,则为null
      systemId - 被引用的外部资源的系统标识符,即URI引用 [IETF RFC 2396],如果未提供系统标识符,则为null
      baseURI - 正在解析的资源的绝对基本URI,如果没有基本URI,则为null
      返回:
      描述新输入源的LSInput对象,或null以请求解析器打开资源的常规URI连接。