-
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
-
-
-
方法摘要
所有方法 实例方法 抽象方法 变量和类型 方法 描述 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
时,不要求具有XML声明。 如果存在XML声明,则将忽略encoding属性的值。
-
setStringData
void setStringData(String stringData)
要解析的字符串数据。 如果提供,则始终将其视为16位单元序列(UTF-16编码字符)。 使用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)
-
-