Module  java.xml
软件包  org.w3c.dom.ls

Interface LSInput



  • public interface 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

    从以下版本开始:
    1.5
    • 方法详细信息

      • 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编码字符)的序列。 使用stringDatastringData XML声明。 如果存在XML声明,则将忽略encoding属性的值。
      • setStringData

        void setStringData​(String stringData)
        要解析的字符串数据。 如果提供,这将始终被视为16位单位(UTF-16编码字符)的序列。 使用stringDatastringData 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​()
        如果设置为true,则在解析[ XML 1.1 ]时,假设输入已被认证(见[ XML 1.1 ]中的2.13部分))。
      • setCertifiedText

        void setCertifiedText​(boolean certifiedText)
        如果设置为true,则在解析[ XML 1.1 ]时,假设输入已被认证(参见[ XML 1.1 ]中的2.13部分))。