このインタフェースを使用すると、アプリケーションで、入力ソースに関する情報を単一のオブジェクトにカプセル化できます。このオブジェクトには、公開識別子、システム識別子、バイト・ストリーム(エンコーディングが指定されている場合もある)、ベースURI、あるいは文字ストリームなどが含まれます。
バイト・ストリームと文字ストリームの正確な定義は、バインディングによって異なります。
アプリケーションは、前述のようなオブジェクトが必要なときはいつでも、このインタフェースを実装するオブジェクトを持つことが求められます。 アプリケーションでは、このインタフェースを実装する独自のオブジェクトを提供したり、ジェネリックなファクトリ・メソッドのDOMImplementationLS.createLSInput()
を使用してこのインタフェースを実装するオブジェクトを作成したりできます。
LSParser
は、LSInput
オブジェクトを使用して、データを読み取る方法を決定します。 LSParser
は、LSInput
で指定された異なる入力を次の順序で検索して、読取り元を認識します。nullではなく、空の文字列でもない最初の入力が使用されます。
-
LSInput.characterStream
-
LSInput.byteStream
-
LSInput.stringData
-
LSInput.systemId
-
LSInput.publicId
すべての入力がnullである場合、LSParser
は、DOMError.type
が"no-input-specified"
に設定され、DOMError.severity
がDOMError.SEVERITY_FATAL_ERROR
に設定されたDOMError
を報告します。
アプリケーションに所属するLSInput
オブジェクト。 DOM実装では、それらを変更することはありません(必要に応じて、コピーを作成して変更することは可能)。
「Document Object Model (DOM) Level 3 Load and Save Specification」も参照してください。
- 導入されたバージョン:
- 1.5
-
メソッドのサマリー
修飾子と型メソッド説明相対systemId
を絶対URIに解決するときに使用されるベースURIです(「IETF RFC 2396」のセクション5.1.4を参照)。言語の属性およびバイトのストリームを表すバインディング依存の型です。boolean
言語の属性および16ビット単位のストリームを表すバインディング依存の型です。既知の場合は、文字エンコーディングです。この入力ソースの公開識別子です。構文解析する文字列データです。この入力ソースのシステム識別子、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)
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() -
setCertifiedText
void setCertifiedText(boolean certifiedText)
-