共通 DOM API

org.w3c.dom.ls
インタフェース LSInput


public interface LSInput

このインタフェースは、データの入力ソースを表します。

このインタフェースを使用すると、アプリケーションで、入力ソースに関する情報を単一オブジェクト内にカプセル化できます。カプセル化できる情報には、公開識別子、システム識別子、バイトストリーム (指定されたエンコーディングを含むことも可能)、基底 URI、および文字ストリームなどがあります。

バイトストリームと文字ストリームの正確な定義はバインディングによって異なります。

アプリケーションは、このインタフェースを実装するオブジェクトが必要な場合はいつでもこのようなオブジェクトを提供することが期待されます。アプリケーションは、このインタフェースを実装する独自のオブジェクトを提供するか、あるいは DOMImplementationLS.createLSInput() 汎用ファクトリメソッドを使って、このインタフェースを実装するオブジェクトを生成できます。

LSParserLSInput オブジェクトを使ってデータを読み取る方法を判定します。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」も参照してください。


メソッドの概要
 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 ビット単位のストリームを表すバインディング依存の型。アプリケーションは、[Unicode] および [ISO/IEC 10646] で定義される UTF-16 を使ってストリームをエンコードする必要があります。文字ストリーム使用時、 XML 宣言は必要ありません。XML 宣言が存在する場合、エンコーディング属性の値は無視されます。


setCharacterStream

void setCharacterStream(Reader characterStream)
言語の属性、および 16 ビット単位のストリームを表すバインディング依存の型。アプリケーションは、[Unicode] および [ISO/IEC 10646] で定義される UTF-16 を使ってストリームをエンコードする必要があります。文字ストリーム使用時、 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 項「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 項を参照)。


共通 DOM API

バグや機能要求の報告
Java は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 2004 Sun Microsystems, Inc. 4150 Network Circle
Santa Clara, California, 95054, U.S.A. All Rights Reserved.