Most visited

Recently visited

Added in API level 8

LSInput

public interface LSInput

org.w3c.dom.ls.LSInput


该界面代表数据的输入源。

该接口允许应用程序将关于输入源的信息封装在单个对象中,该对象可以包括公共标识符,系统标识符,字节流(可能具有指定的编码),基本URI和/或字符流。

字节流和字符流的确切定义依赖于绑定。

预计该应用程序将提供实现此接口的对象,无论何时需要此类对象。 应用程序可以提供自己的实现此接口的对象,也可以使用通用工厂方法DOMImplementationLS.createLSInput()创建实现此接口的对象。

LSParser将使用LSInput对象来确定如何读取数据。 LSParser将按照以下顺序查看LSInput中指定的不同输入,以便知道从哪个输入读取,第一个不为空且不会使用空字符串:

  1. LSInput.characterStream
  2. LSInput.byteStream
  3. LSInput.stringData
  4. LSInput.systemId
  5. 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

Summary

Public methods

abstract String getBaseURI()

要使用的基本URI(请参阅[ IETF RFC 2396 ]中的第5.1.4节)将相对 systemId解析为绝对URI。

abstract InputStream getByteStream()

表示字节流的语言和依赖于绑定的类型的属性。

abstract boolean getCertifiedText()

如果设置为true,则假定输入在解析[ XML 1.1 ]时已通过认证(请参阅[ XML 1.1 ]中的第2.13节)。

abstract Reader getCharacterStream()

表示16位单元流的语言和依赖于绑定的类型的属性。

abstract String getEncoding()

字符编码,如果知道的话。

abstract String getPublicId()

此输入源的公共标识符。

abstract String getStringData()

要解析的字符串数据。

abstract String getSystemId()

系统标识符,这个输入源的URI参考[ IETF RFC 2396 ]。

abstract void setBaseURI(String baseURI)

要使用的基本URI(请参阅[ IETF RFC 2396 ]中的第5.1.4节)将相对 systemId解析为绝对URI。

abstract void setByteStream(InputStream byteStream)

表示字节流的语言和依赖于绑定的类型的属性。

abstract void setCertifiedText(boolean certifiedText)

如果设置为true,则假定输入在解析[ XML 1.1 ]时已通过认证(请参阅[ XML 1.1 ]中的第2.13节)。

abstract void setCharacterStream(Reader characterStream)

表示16位单元流的语言和依赖于绑定的类型的属性。

abstract void setEncoding(String encoding)

字符编码,如果知道的话。

abstract void setPublicId(String publicId)

此输入源的公共标识符。

abstract void setStringData(String stringData)

要解析的字符串数据。

abstract void setSystemId(String systemId)

系统标识符,该输入源的URI参考[ IETF RFC 2396 ]。

Public methods

getBaseURI

Added in API level 8
String getBaseURI ()

要使用的基本URI(请参阅[ IETF RFC 2396 ]中的第5.1.4节)将相对systemId解析为绝对URI。
如果使用时基本URI本身是一个相对URI,一个空字符串或null,则该行为是与实现相关的。

Returns
String

getByteStream

Added in API level 8
InputStream getByteStream ()

表示字节流的语言和依赖于绑定的类型的属性。
如果应用程序知道字节流的字符编码,它应该设置编码属性。 以这种方式设置编码将覆盖数据中XML声明中指定的任何编码。

Returns
InputStream

getCertifiedText

Added in API level 8
boolean getCertifiedText ()

如果设置为true,则假定输入在解析[ XML 1.1 ]时已通过认证(请参阅[ XML 1.1 ]中的第2.13节)。

Returns
boolean

getCharacterStream

Added in API level 8
Reader getCharacterStream ()

表示16位单元流的语言和依赖于绑定的类型的属性。 应用程序必须使用UTF-16(在[Unicode]和[ISO / IEC 10646]中定义)对流进行编码。 使用字符流时,不需要有XML声明。 如果存在XML声明,则编码属性的值将被忽略。

Returns
Reader

getEncoding

Added in API level 8
String getEncoding ()

字符编码,如果知道的话。 编码必须是XML编码声明可接受的字符串([ XML 1.0 ]部分4.3.3“实体中的字符编码”)。
当应用程序提供字符流或字符串数据时,此属性不起作用。 对于其他输入源,通过此属性指定的编码将覆盖XML声明或Text声明中指定的任何编码,或者从更高级别协议(例如HTTP [ IETF RFC 2616 ])获取的编码。

Returns
String

getPublicId

Added in API level 8
String getPublicId ()

此输入源的公共标识符。 这可以使用实现依赖机制(如目录或其他映射)映射到输入源。 公开标识符(如果指定的话)也可以在报告错误时作为位置信息的一部分进行报告。

Returns
String

getStringData

Added in API level 8
String getStringData ()

要解析的字符串数据。 如果提供,这将始终被视为一个16位单元序列(UTF-16编码字符)。 使用stringDatastringData有XML声明。 如果存在XML声明,则编码属性的值将被忽略。

Returns
String

getSystemId

Added in API level 8
String getSystemId ()

系统标识符,该输入源的URI参考[ IETF RFC 2396 ]。 如果有字节流,字符流或字符串数据,则系统标识符是可选的。 提供一个仍然有用,因为应用程序将使用它来解析任何相关的URI,并且可以将它包含在错误消息和警告中。 (如果输入源中没有其他输入可用,LSParser将只尝试获取由URI引用标识的资源。)
如果应用程序知道系统标识符指向的对象的字符编码,则可以使用encoding属性设置编码。
如果指定的系统ID是相对URI引用(参见[ IETF RFC 2396 ]中的第5节),那么DOM实现将尝试解析相对URI,并以baseURI为基础,如果失败,则行为取决于实现。

Returns
String

setBaseURI

Added in API level 8
void setBaseURI (String baseURI)

要使用的基本URI(参见[ IETF RFC 2396 ]中的第5.1.4节)将相对systemId解析为绝对URI。
如果使用时基本URI本身是一个相对URI,一个空字符串或null,则该行为是与实现相关的。

Parameters
baseURI String

setByteStream

Added in API level 8
void setByteStream (InputStream byteStream)

表示字节流的语言和依赖于绑定的类型的属性。
如果应用程序知道字节流的字符编码,它应该设置编码属性。 以这种方式设置编码将覆盖数据中XML声明中指定的任何编码。

Parameters
byteStream InputStream

setCertifiedText

Added in API level 8
void setCertifiedText (boolean certifiedText)

如果设置为true,则假定在解析[ XML 1.1 ]时输入已通过认证(请参阅[ XML 1.1 ]中的第2.13节)。

Parameters
certifiedText boolean

setCharacterStream

Added in API level 8
void setCharacterStream (Reader characterStream)

表示16位单元流的语言和依赖于绑定的类型的属性。 应用程序必须使用UTF-16(在[Unicode]和[ISO / IEC 10646]中定义)对流进行编码。 使用字符流时,不需要有XML声明。 如果存在XML声明,则编码属性的值将被忽略。

Parameters
characterStream Reader

setEncoding

Added in API level 8
void setEncoding (String encoding)

字符编码,如果知道的话。 编码必须是XML编码声明可接受的字符串([ XML 1.0 ]部分4.3.3“实体中的字符编码”)。
当应用程序提供字符流或字符串数据时,此属性不起作用。 对于其他输入源,通过此属性指定的编码将覆盖XML声明或Text声明中指定的任何编码,或从更高级别协议(例如HTTP [ IETF RFC 2616 ])获得的编码。

Parameters
encoding String

setPublicId

Added in API level 8
void setPublicId (String publicId)

此输入源的公共标识符。 这可以使用实现依赖机制(如目录或其他映射)映射到输入源。 公开标识符(如果指定的话)也可以在报告错误时作为位置信息的一部分进行报告。

Parameters
publicId String

setStringData

Added in API level 8
void setStringData (String stringData)

要解析的字符串数据。 如果提供,这将始终被视为一个16位单元序列(UTF-16编码字符)。 使用stringDatastringData有XML声明。 如果存在XML声明,则编码属性的值将被忽略。

Parameters
stringData String

setSystemId

Added in API level 8
void setSystemId (String systemId)

系统标识符,该输入源的URI参考[ IETF RFC 2396 ]。 如果有字节流,字符流或字符串数据,则系统标识符是可选的。 提供一个仍然有用,因为应用程序将使用它来解析任何相关的URI,并且可以将它包含在错误消息和警告中。 (如果输入源中没有其他输入可用,LSParser将只尝试获取由URI引用标识的资源。)
如果应用程序知道系统标识符指向的对象的字符编码,则可以使用encoding属性设置编码。
如果指定的系统ID是相对URI引用(参见[ IETF RFC 2396 ]中的第5节),则DOM实现将尝试解析相对URI,并以baseURI为基础,如果失败,则行为取决于实现。

Parameters
systemId String

Hooray!