public interface LSResourceResolver
LSResourceResolver提供了一种应用程序将引用重定向到外部资源的方法。
需要为外部资源实现自定义处理的应用程序可以通过设置LSParser和LSSerializer附带的DOMConfiguration对象的“资源解析器”参数来实现该接口并注册其LSSerializer 。 它也可以是上注册DOMConfiguration附着在物体上Document是否支持“LS”功能。
LSParser将允许应用程序在包含外部实体(包括外部DTD子集和外部参数实体)之前拦截它们。 顶级文档实体从不传递给resolveResource方法。
许多DOM应用程序不需要实现此接口,但对于从数据库或其他专门的输入源构建XML文档的应用程序或使用URN的应用程序来说,这将非常有用。
注意: LSResourceResolver是基于SAX2 [ SAX ] EntityResolver接口。
另见Document Object Model (DOM) Level 3 Load and Save Specification 。
LSInput resolveResource(String type, String namespaceURI, String publicId, String systemId, String baseURI)
LSParser将会调用此方法。
然后,应用程序可以请求LSParser解析外部资源本身,它使用替代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模式
资源时的XML模式[
XML Schema Part 1 ]的目标命名空间。
publicId -外部实体的公共标识符被引用,或
null如果没有公共标识符供给或如果资源不是实体。
systemId -系统标识符,一个URI引用[
IETF RFC 2396外部资源的],被参考,或
null如果提供没有系统标识符。
baseURI - 要解析的资源的绝对基本URI,如果没有基本URI,
null 。
LSInput对象描述新的输入源,或
null以请求解析器打开一个定期URI连接到资源。
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.