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