org.w3c.dom.ls

接口
异常
public interface LSInput

此接口表示数据的输入源。

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

对字节流和字符流的精确定义具有绑定依赖性。

当需要这种对象时,期望应用程序提供实现此接口的对象。应用程序既可以提供自己的实现此接口的对象,也可以使用一般的工厂方法 DOMImplementationLS.createLSInput() 来创建实现此接口的对象。

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

  1. LSInput.characterStream
  2. LSInput.byteStream
  3. LSInput.stringData
  4. LSInput.systemId
  5. LSInput.publicId

如果所有的输入都为 null,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》。


方法摘要
 String getBaseURI()
          基 URI(请参阅 [IETF RFC 2396]中的 5.1.4 节),它用来解析绝对 URI 的相对 systemId
 InputStream getByteStream()
          依赖于语言和绑定类型的属性,表示字节的流。
 boolean getCertifiedText()
          如果设置为 true,则假定解析 [XML 1.1] 时对输入进行认证(请参阅 [XML 1.1] 中的 2.13 节)。
 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 节),它用来解析绝对 URI 的相对 systemId
 void setByteStream(InputStream byteStream)
          依赖于语言和绑定类型的属性,表示字节流。
 void setCertifiedText(boolean certifiedText)
          如果设置为 true,则假定解析 [XML 1.1] 时对输入进行验证(请参阅 [XML 1.1] 中的 2.13 节)。
 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 声明,将忽略编码属性的值。


setCharacterStream

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


getByteStream

InputStream getByteStream()
依赖于语言和绑定类型的属性,表示字节的流。
如果应用程序知道字节流的字符编码,则必须设置编码属性。用此方法设置编码将重写在数据的 XML 声明中指定的任何编码。


setByteStream

void setByteStream(InputStream byteStream)
依赖于语言和绑定类型的属性,表示字节流。
如果应用程序知道字节流的字符编码,则必须设置编码属性。用此方法设置编码将重写在数据的 XML 声明中指定的任何编码。


getStringData

String getStringData()
要解析的字符串数据。如果提供了字符串数据,将始终将此视为 16 位单元序列(UTF-16 编码字符)。当使用 stringData 时,不必具有 XML 声明。如果有 XML 声明,将忽略编码属性的值。


setStringData

void setStringData(String stringData)
要解析的字符串数据。如果提供了字符串数据,将始终将此视为 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

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 节),它用来解析绝对 URI 的相对 systemId
如果使用时基 URI 本身是相对 URI、空字符串或 null,则表示该行为具有实现依赖性。


setBaseURI

void setBaseURI(String baseURI)
基 URI(请参阅 [ IETF RFC 2396])中的 5.1.4 节),它用来解析绝对 URI 的相对 systemId
如果使用时基 URI 本身是相对 URI、空字符串或 null,则该行为具有实现依赖性。


getEncoding

String getEncoding()
字符编码(如果已知)。编码必须是 XML 编码声明([ XML 1.0] 的 4.3.3 节 "Character Encoding in Entities")可接受的字符串。
当应用程序提供字符流或字符串数据时,此属性无效。对于其他的输入源,通过此属性指定的编码将重写在 XML 声明或 Text 声明中指定的任何编码,或者从高层协议中获取的编码,如 HTTP [ IETF RFC 2616]。


setEncoding

void setEncoding(String encoding)
字符串编码(如果已知)。编码必须是 XML 编码声明([ XML 1.0] 的 4.3.3 节 "Character Encoding in Entities")可接受的字符串。
当应用程序提供字符流或字符串数据时,此属性无效。对于其他的输入源,通过此属性指定的编码将重写在 XML 声明或 Text 声明中指定的任何编码,或者从高层协议中获取的编码,如 HTTP [ IETF RFC 2616]。


getCertifiedText

boolean getCertifiedText()
如果设置为 true,则假定解析 [ XML 1.1] 时对输入进行认证(请参阅 [ XML 1.1] 中的 2.13 节)。


setCertifiedText

void setCertifiedText(boolean certifiedText)
如果设置为 true,则假定解析 [ XML 1.1] 时对输入进行验证(请参阅 [ XML 1.1] 中的 2.13 节)。