モジュール java.xml
パッケージ org.w3c.dom.ls

インタフェースLSInput


  • 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.type"no-input-specified"に設定され、DOMError.severityDOMError.SEVERITY_FATAL_ERRORに設定されたDOMErrorを報告します。

    アプリケーションに所属するLSInputオブジェクト。 DOM実装では、それらを変更することはありません(必要に応じて、コピーを作成して変更することは可能)。

    Document Object Model (DOM) Level 3 Load and Save Specification」も参照してください。

    導入されたバージョン:
    1.5
    • メソッドのサマリー

      すべてのメソッド インスタンス・メソッド 抽象メソッド 
      修飾子と型 メソッド 説明
      String getBaseURI()
      相対systemIdを絶対URIに解決するときに使用されるベースURIです(「IETF RFC 2396」のセクション5.1.4を参照)。
      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)
      相対systemIdを絶対URIに解決するときに使用されるベースURIです(「IETF RFC 2396」のセクション5.1.4を参照)。
      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()
        相対systemIdを絶対URIに解決するときに使用されるベースURIです(「IETF RFC 2396」のセクション5.1.4を参照)。
        使用したときに、ベースURIが相対URI、空の文字列、またはnullである場合、動作は実装依存です。
      • setBaseURI

        void setBaseURI​(String baseURI)
        相対systemIdを絶対URIに解決するときに使用されるベースURIです(「IETF RFC 2396」のセクション5.1.4を参照)。
        使用したときに、ベースURIが相対URI、空の文字列、またはnullである場合、動作は実装依存です。
      • getEncoding

        String getEncoding()
        既知の場合は、文字エンコーディングです。 エンコーディングは、XMLエンコーディング宣言(「XML 1.0」セクション4.3.3「エンティティの文字エンコーディング」)で受け入れ可能な文字列にする必要があります。
        この属性は、アプリケーションが文字ストリームや文字列データを提供する場合、何も影響を与えません。
        ほかの入力ソースの場合、XML宣言やテキスト宣言、あるいはHTTP「IETF RFC 2616」といった高位レベルのプロトコルから取得されたエンコーディングは、この属性を使用して指定されたエンコーディングによりオーバーライドされます。
      • setEncoding

        void setEncoding​(String encoding)
        既知の場合は、文字エンコーディングです。 エンコーディングは、XMLエンコーディング宣言(「XML 1.0」セクション4.3.3「エンティティの文字エンコーディング」)で受け入れ可能な文字列にする必要があります。
        この属性は、アプリケーションが文字ストリームや文字列データを提供する場合、何も影響を与えません。
        ほかの入力ソースの場合、XML宣言やテキスト宣言、あるいは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を参照)。