public interface LSInput
此接口表示数据的输入源。
此接口允许应用程序将有关输入源的信息封装在单个对象中,其中可能包括公共标识符、系统标识符、字节流(可能具有指定编码)、基本 URI 和/或字符流。
字节流和字符流的确切定义依赖于绑定。
每当需要此类对象时,应用程序都应提供实现此接口的对象。应用程序可以提供自己的实现此接口的对象,也可以使用通用工厂方法DOMImplementationLS.createLSInput() 创建实现此接口的对象。
LSParser 将使用 LSInput 对象来确定如何读取数据。 LSParser 将按以下顺序查看 LSInput 中指定的不同输入,以了解要读取的输入,将使用第一个非空且非空字符串的输入:
LSInput.characterStreamLSInput.byteStreamLSInput.stringDataLSInput.systemIdLSInput.publicId
如果所有输入均为空,则 LSParser 将报告一个 DOMError,其 DOMError.type 设置为 "no-input-specified",DOMError.severity 设置为 DOMError.SEVERITY_FATAL_ERROR。
LSInput 对象属于应用程序。 DOM 实现永远不会修改它们(尽管它可能会制作副本并在必要时修改副本)。
- 自从:
- 1.5
-
方法总结
修饰符和类型方法描述用于将相对systemId解析为绝对 URI 的基本 URI(请参阅 [IETF RFC 2396 ] 中的第 5.1.4 节)。表示字节流的语言和绑定相关类型的属性。boolean表示 16 位单元流的语言和绑定相关类型的属性。字符编码(如果已知)。此输入源的公共标识符。要解析的字符串数据。此输入源的系统标识符,一个 URI 引用 [IETF RFC 2396]。voidsetBaseURI(String baseURI) 用于将相对systemId解析为绝对 URI 的基本 URI(请参阅 [IETF RFC 2396 ] 中的第 5.1.4 节)。voidsetByteStream(InputStream byteStream) 表示字节流的语言和绑定相关类型的属性。voidsetCertifiedText(boolean certifiedText) voidsetCharacterStream(Reader characterStream) 表示 16 位单元流的语言和绑定相关类型的属性。voidsetEncoding(String encoding) 字符编码(如果已知)。voidsetPublicId(String publicId) 此输入源的公共标识符。voidsetStringData(String stringData) 要解析的字符串数据。voidsetSystemId(String systemId) 此输入源的系统标识符,一个 URI 引用 [IETF RFC 2396]。
-
方法详情
-
getCharacterStream
Reader getCharacterStream()表示 16 位单元流的语言和绑定相关类型的属性。应用程序必须使用 UTF-16(在 [Unicode] 和 [ISO/IEC 10646] 中定义)对流进行编码。使用字符流时不需要 XML 声明。如果存在 XML 声明,编码属性的值将被忽略。 -
setCharacterStream
表示 16 位单元流的语言和绑定相关类型的属性。应用程序必须使用 UTF-16(在 [Unicode] 和 [ISO/IEC 10646] 中定义)对流进行编码。使用字符流时不需要 XML 声明。如果存在 XML 声明,编码属性的值将被忽略。 -
getByteStream
InputStream getByteStream()表示字节流的语言和绑定相关类型的属性。
如果应用程序知道字节流的字符编码,就应该设置编码属性。以这种方式设置编码将重写数据中 XML 声明中指定的任何编码。 -
setByteStream
表示字节流的语言和绑定相关类型的属性。
如果应用程序知道字节流的字符编码,就应该设置编码属性。以这种方式设置编码将重写数据中 XML 声明中指定的任何编码。 -
getStringData
String getStringData()要解析的字符串数据。如果提供,这将始终被视为 16 位单元序列(UTF-16 编码字符)。使用stringData时不需要有 XML 声明。如果存在 XML 声明,编码属性的值将被忽略。 -
setStringData
要解析的字符串数据。如果提供,这将始终被视为 16 位单元序列(UTF-16 编码字符)。使用stringData时不需要有 XML 声明。如果存在 XML 声明,编码属性的值将被忽略。 -
getSystemId
String getSystemId()此输入源的系统标识符,一个 URI 引用 [IETF RFC 2396]。如果存在字节流、字符流或字符串数据,则系统标识符是可选的。提供一个仍然有用,因为应用程序将使用它来解析任何相关 URI,并可以将其包含在错误消息和警告中。 (如果输入源中没有其他输入可用,LSParser 将仅尝试获取由 URI 引用标识的资源。)
如果应用程序知道系统标识符指向的对象的字符编码,它可以使用encoding属性设置编码。
如果指定的系统 ID 是相对 URI 引用(请参阅 [IETF RFC 2396] 中的第 5 节),DOM 实现将尝试以baseURI作为基础解析相对 URI,如果失败,则行为取决于实现。 -
setSystemId
此输入源的系统标识符,一个 URI 引用 [IETF RFC 2396]。如果存在字节流、字符流或字符串数据,则系统标识符是可选的。提供一个仍然有用,因为应用程序将使用它来解析任何相关 URI,并可以将其包含在错误消息和警告中。 (如果输入源中没有其他输入可用,LSParser 将仅尝试获取由 URI 引用标识的资源。)
如果应用程序知道系统标识符指向的对象的字符编码,它可以使用encoding属性设置编码。
如果指定的系统 ID 是相对 URI 引用(请参阅 [IETF RFC 2396] 中的第 5 节),DOM 实现将尝试以baseURI作为基础解析相对 URI,如果失败,则行为取决于实现。 -
getPublicId
String getPublicId()此输入源的公共标识符。这可以使用依赖于实现的机制(例如目录或其他映射)映射到输入源。公共标识符,如果指定,也可以在报告错误时作为位置信息的一部分进行报告。 -
setPublicId
此输入源的公共标识符。这可以使用依赖于实现的机制(例如目录或其他映射)映射到输入源。公共标识符,如果指定,也可以在报告错误时作为位置信息的一部分进行报告。 -
getBaseURI
String getBaseURI()用于将相对systemId解析为绝对 URI 的基本 URI(请参阅 [IETF RFC 2396 ] 中的第 5.1.4 节)。
如果在使用时,基本 URI 本身是相对 URI、空字符串或 null,则行为取决于实现。 -
setBaseURI
用于将相对systemId解析为绝对 URI 的基本 URI(请参阅 [IETF RFC 2396 ] 中的第 5.1.4 节)。
如果在使用时,基本 URI 本身是相对 URI、空字符串或 null,则行为取决于实现。 -
getEncoding
String getEncoding()字符编码(如果已知)。编码必须是 XML 编码声明可接受的字符串([XML 1.0] 第 4.3.3 节“实体中的字符编码”)。
当应用程序提供字符流或字符串数据时,此属性无效。对于其他输入源,通过此属性指定的编码将覆盖 XML 声明或文本声明中指定的任何编码,或从更高级别协议(例如 HTTP [IETF RFC 2616])获得的编码。 -
setEncoding
字符编码(如果已知)。编码必须是 XML 编码声明可接受的字符串([XML 1.0] 第 4.3.3 节“实体中的字符编码”)。
当应用程序提供字符流或字符串数据时,此属性无效。对于其他输入源,通过此属性指定的编码将覆盖 XML 声明或文本声明中指定的任何编码,或从更高级别协议(例如 HTTP [IETF RFC 2616])获得的编码。 -
getCertifiedText
boolean getCertifiedText() -
setCertifiedText
void setCertifiedText(boolean certifiedText)
-