JavaTM 2 Platform
Standard Ed. 5.0

org.xml.sax
クラス InputSource

java.lang.Object
  上位を拡張 org.xml.sax.InputSource

public class InputSource
extends Object

XML エンティティの単一の入力ソースです。

このモジュールは、ソースコード、文書ともに公開ドメインに置かれています。したがって、内容に関する保証は一切提供されません。詳細については、http://www.saxproject.org を参照してください。

SAX アプリケーションは、このクラスを利用して入力ソースに関する情報を単一のオブジェクトにカプセル化します。このオブジェクトには、公開識別子、システム識別子、バイトストリーム (エンコーディングが指定されている場合もある)、文字ストリームなどが含まれます。

アプリケーションは、入力ソースを Parser.parse メソッドの引数として、あるいは EntityResolver.resolveEntity メソッドの戻り値としてパーサに渡すことができます。

SAX パーサは、InputSource オブジェクトを使用して XML 入力を読み込む方法を決定します。使用可能な文字ストリームがある場合、パーサは、そのストリーム内で見つかったテキストエンコーディング宣言を無視して、そのストリームを直接読み込みます。文字ストリームがなく、バイトストリームがある場合、パーサは、InputSource で指定されたエンコーディングを使用して、そのバイトストリームを使用します。あるいは、エンコーディングが指定されていない場合は、XML 仕様にあるようなアルゴリズムを使った文字エンコーディングを自動検出して、そのバイトストリームを使用します。文字ストリームとバイトストリームのどちらも使用できない場合、パーサは、システム識別子によって識別されたリソースへの URI 接続を開こうとします。

InputSource オブジェクトはアプリケーションに所属するため、これを SAX パーサが変更することはできませんが、必要に応じてコピーすることは可能です。ただし、バイトストリームと文字ストリームの両方の標準的な処理は、それらを end-of-parse クリーンアップの一環として閉じることであるため、アプリケーションは、パーサに渡されたあとでそのようなストリームを再利用しようとはしません。

導入されたバージョン:
SAX 1.0
関連項目:
XMLReader.parse(org.xml.sax.InputSource), EntityResolver.resolveEntity(java.lang.String, java.lang.String), InputStream, Reader

コンストラクタの概要
InputSource()
          デフォルトの引数なしのコンストラクタ
InputSource(InputStream byteStream)
          バイトストリームを指定して新しい入力ソースを作成します。
InputSource(Reader characterStream)
          文字ストリームを指定して新しい入力ソースを作成します。
InputSource(String systemId)
          システム識別子を指定して新しい入力ソースを作成します。
 
メソッドの概要
 InputStream getByteStream()
          この入力ソースのバイトストリームを取得します。
 Reader getCharacterStream()
          この入力ソースの文字ストリームを取得します。
 String getEncoding()
          バイトストリームまたは URL の文字エンコーディングを取得します。
 String getPublicId()
          この入力ソースの公開識別子を取得します。
 String getSystemId()
          この入力ソースのシステム識別子を取得します。
 void setByteStream(InputStream byteStream)
          この入力ソースのバイトストリームを設定します。
 void setCharacterStream(Reader characterStream)
          この入力ソースの文字ストリームを設定します。
 void setEncoding(String encoding)
          文字セットがわかっている場合、これを設定します。
 void setPublicId(String publicId)
          この入力ソースの公開識別子を設定します。
 void setSystemId(String systemId)
          この入力ソースのシステム識別子を設定します。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

InputSource

public InputSource()
デフォルトの引数なしのコンストラクタ

関連項目:
setPublicId(java.lang.String), setSystemId(java.lang.String), setByteStream(java.io.InputStream), setCharacterStream(java.io.Reader), setEncoding(java.lang.String)

InputSource

public InputSource(String systemId)
システム識別子を指定して新しい入力ソースを作成します。

setPublicId を使って、アプリケーションに公開識別子を含めることもできます。setEncoding を使って既知の文字セットを指定することもできます。

システム識別子が URL である場合、完全に解決する必要があります。また、相対 URL でない場合もあります。

パラメータ:
systemId - システム識別子 (URI)
関連項目:
setPublicId(java.lang.String), setSystemId(java.lang.String), setByteStream(java.io.InputStream), setEncoding(java.lang.String), setCharacterStream(java.io.Reader)

InputSource

public InputSource(InputStream byteStream)
バイトストリームを指定して新しい入力ソースを作成します。

アプリケーションの作成者は、setSystemId() を使って相対 URI のベースを提供する必要があります。SetPublicId を使ってアプリケーションに公開識別子を含めたり、setEncoding を使ってオブジェクトの文字セットを指定することもできます。

パラメータ:
byteStream - 文書を含む raw バイトストリーム
関連項目:
setPublicId(java.lang.String), setSystemId(java.lang.String), setEncoding(java.lang.String), setByteStream(java.io.InputStream), setCharacterStream(java.io.Reader)

InputSource

public InputSource(Reader characterStream)
文字ストリームを指定して新しい入力ソースを作成します。

アプリケーションの作成者は、setSystemId() を使って、相対 URI を解決するためのベースを提供する必要があります。また、setPublicId を使ってアプリケーションに公開識別子を含めることができます。

バイト順序記号は文字ストリームに含まれません。

関連項目:
setPublicId(java.lang.String), setSystemId(java.lang.String), setByteStream(java.io.InputStream), setCharacterStream(java.io.Reader)
メソッドの詳細

setPublicId

public void setPublicId(String publicId)
この入力ソースの公開識別子を設定します。

公開識別子は常にオプションです。アプリケーションに公開識別子を含めたい場合は、位置情報の一部として指定します。

パラメータ:
publicId - 公開識別子を示す文字列
関連項目:
getPublicId(), Locator.getPublicId(), SAXParseException.getPublicId()

getPublicId

public String getPublicId()
この入力ソースの公開識別子を取得します。

戻り値:
公開識別子。提供されなかった場合は null
関連項目:
setPublicId(java.lang.String)

setSystemId

public void setSystemId(String systemId)
この入力ソースのシステム識別子を設定します。

バイトストリームまたは文字ストリームがある場合、システム識別子は省略可能ですが、指定した方が便利です。アプリケーションはそれを使用して相対 URI を解決し、エラーメッセージや警告に含めることができるためです。パーサは、バイトストリームまたは文字ストリームが指定されていない場合に限り、URI への接続を開こうとします。

システム識別子が示すオブジェクトの文字セットがわかっている場合、アプリケーションは setEncoding メソッドを使ってこのエンコーディングを登録できます。

システム識別子が URL である場合、完全に解決する必要があります。また、相対 URL でない場合もあります。

パラメータ:
systemId - システム識別子を示す文字列
関連項目:
setEncoding(java.lang.String), getSystemId(), Locator.getSystemId(), SAXParseException.getSystemId()

getSystemId

public String getSystemId()
この入力ソースのシステム識別子を取得します。

getEncoding メソッドは、このシステム識別子が示すオブジェクトの文字セットを返します。不明な場合は null を返します。

システム識別子が URL である場合、完全に解決されます。

戻り値:
システム識別子。提供されなかった場合は null
関連項目:
setSystemId(java.lang.String), getEncoding()

setByteStream

public void setByteStream(InputStream byteStream)
この入力ソースのバイトストリームを設定します。

SAX パーサは、バイトストリームのほかに文字ストリームが指定されている場合、バイトストリームを無視します。バイトストリームは、URI 接続を開始するより優先的に使用されます。

バイトストリームの文字セットがわかっている場合、アプリケーションは setEncoding メソッドを使ってこのエンコーディングを設定する必要があります。

パラメータ:
byteStream - XML 文書またはその他のエンティティを含むバイトストリーム
関連項目:
setEncoding(java.lang.String), getByteStream(), getEncoding(), InputStream

getByteStream

public InputStream getByteStream()
この入力ソースのバイトストリームを取得します。

getEncoding メソッドは、このバイトストリームの文字セットを返します。不明な場合は null を返します。

戻り値:
バイトストリーム。提供されなかった場合は null
関連項目:
getEncoding(), setByteStream(java.io.InputStream)

setEncoding

public void setEncoding(String encoding)
文字セットがわかっている場合、これを設定します。

エンコーディングは、XML エンコーディング宣言 (XML 1.0 勧告のセクション 4.3.3 を参照) の規定に合った文字列でなければなりません。

アプリケーションが文字ストリームを提供する場合、このメソッドには何の効果もありません。

パラメータ:
encoding - 文字セットを説明する文字列
関連項目:
setSystemId(java.lang.String), setByteStream(java.io.InputStream), getEncoding()

getEncoding

public String getEncoding()
バイトストリームまたは URL の文字エンコーディングを取得します。この値は、アプリケーションが文字ストリームを提供する場合は無視されます。

戻り値:
エンコーディング。提供されなかった場合は null
関連項目:
setByteStream(java.io.InputStream), getSystemId(), getByteStream()

setCharacterStream

public void setCharacterStream(Reader characterStream)
この入力ソースの文字ストリームを設定します。

文字ストリームが指定されている場合、SAX パーサはバイトストリームを無視し、また、システム識別子への URI 接続を開始しません。

パラメータ:
characterStream - XML 文書またはその他のエンティティを含む文字ストリーム
関連項目:
getCharacterStream(), Reader

getCharacterStream

public Reader getCharacterStream()
この入力ソースの文字ストリームを取得します。

戻り値:
文字ストリーム。提供されなかった場合は null
関連項目:
setCharacterStream(java.io.Reader)

JavaTM 2 Platform
Standard Ed. 5.0

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java 2 SDK SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。