java.lang.object を継承します。XML エンティティにとっての単体の入力ソースです。
このクラスによって、SAX アプリケーションが、入力ソースについての情報を 1 つのオブジェクトとしてカプセル化できるようになります。情報とは、パブリック ID、システム ID、バイトストリーム (できればエンコードの種類を指定して)、そして文字ストリームなどです。
アプリケーションがこの入力ソースをパーサーに渡す方法は 2 種類です。Parser.parse メソッドの引数として渡すか、EntityResolver.resolveEntity メソッドの戻り値として渡します。
SAX パーサーは XML 入力の読み込み方法を決めるために InputSource オブジェクトを使用します。有効な文字ストリームが存在する場合はパーサーがそのストリームを直接読み込みます。文字ストリームがない場合は、バイトストリームが利用可能であれば、バイトストリームが使用されます。文字ストリームもバイトストリームも無効であれば、パーサーはシステム ID で指定されたリソースへの URI 接続を開こうと試みます。
InputSource オブジェクトはアプリケーションに属しています。SAX パーサーで編集してはなりません (必要な場合はコピーを編集します)。
引数のないデフォルトのコンストラクタです。
構文:
public InputSource()
システム ID を含めた新規の入力ソースを作成します。アプリケーションではパブリック ID を含めるために setPublicId も使用できます。または分かっていれば文字のエンコード方式を指定するために setEncoding も使用できます。システム ID が URL の場合は、完全に解析されなければなりません。
構文:
public InputSource(java.lang.String systemId)
パラメータ
systemId - システム ID (URI) です。
バイトストリームを使用して新規の入力ソースを生成します。アプリケーション作成者は、相対 URI を解析するためのベースを提供するために setSystemId が使用できます。またパブリック ID を含めるためには setPublicId が使用できます。オブジェクトの文字エンコード方式を指定するためには setEncoding が使用できます。
構文:
public InputSource(java.io.InputStream byteStream)
パラメータ
byteStream - 文書を含む未処理のバイトストリームです。
文字ストリームを使用して新規の入力ソースを生成します。アプリケーション作成者は、相対 URI を解析するためのベースを提供するために setSystemId() が、パブリック ID を含めるために setPublicId が使用できます。文字ストリームはバイトオーダーマークを含んではいけません。
構文:
public InputSource(java.io.Reader characterStream).
メソッドについては、以下を参照してください。
この入力ソースのバイトストリームを取得します。getEncoding メソッドはこのバイトストリーム用の文字エンコード方式を返します。未知の場合は Null を返します。
構文:
public java.io.InputStream getByteStream()
戻り値:
バイトストリームです。バイトストリームがない場合は Null です。
この入力ソースの文字ストリームを取得します。
構文:
public java.io.Reader getCharacterStream()
戻り値:
文字ストリームです。文字ストリームがない場合は Null です。
バイトストリームまたは URI 用の文字エンコード方式を取得します。
構文:
public java.lang.String getEncoding()
戻り値:
エンコード方式です。エンコード方式がない場合は Null です。
この入力ソース用のパブリック ID を取得します。
構文:
public java.lang.String getPublicId()
戻り値:
パブリック ID です。パブリック ID がない場合は Null です。
この入力ソースのシステム ID を取得します。getEncoding メソッドは対象のオブジェクトの文字エンコード方式を返します。未知の場合は Null を返します。システム ID が URL の場合、完全に解析されなければなりません。
構文:
public java.lang.String getSystemId()
戻り値:
システム ID です。
この入力ソースのバイトストリームを設定します。SAX パーサーは文字ストリームが指定されているとこのメソッドを無視します。しかし URI 接続自身を開くには優先してバイトストリームを使用します。
アプリケーションでバイトストリームの文字エンコード方式が分かっている場合は、setEncoding メソッドで設定しなければなりません。
構文:
public void setByteStream(java.io.InputStream byteStream)
パラメータ
byteStream - XML 文書か他のエンティティを含むバイトストリームです。
この入力ソースの文字ストリームを設定します。文字ストリームが指定されていると、SAX パーサーはバイトストリームを無視し、システム ID への URI 接続を開く試みは行われません。
構文:
public void setCharacterStream(java.io.Reader characterStream)
パラメータ
characterStream - XML 文書または他のエンティティを含む文字ストリームです。
分かっていれば文字エンコード方式を設定します。エンコード方式は、XML エンコーディング宣言で使用できるように文字列でなければなりません。アプリケーションで文字ストリームが提供されている場合はこのメソッドは無効です。
構文:
public void setEncoding(java.lang.String encoding)
パラメータ
encoding - 文字エンコード方式を表す文字列です。
この入力ソースにパブリック ID を設定します。パブリック ID は常に省略できます。アプリケーションの書き込みにパブリック ID が含まれる場合は、ロケーション情報の一部として提供されます。
構文:
public void setPublicId(java.lang.String publicId)
パラメータ
publicId - 文字列としてのパブリック ID です。
この入力ソースにシステム ID を設定します。システム ID は、バイトストリームか文字ストリームが存在する場合は常に省略できますが、システム ID を提供することは有効です。アプリケーションで相対 URI を解析するのに使用できたり、エラーや警告のメッセージに ID を含めたりできます (パーサーは指定されたバイトストリームまたは文字ストリームがない場合のみ、URI への接続を開こうと試みます)。
アプリケーションで、システム ID の示すオブジェクトの文字エンコード方式が分かっている場合、setEncoding メソッドを使用してエンコード方式を登録できます。システム ID が URL の場合は、完全に解析されなければなりません。
構文:
public void setSystemId(java.lang.String systemId)
パラメータ
systemId - 文字列としてのシステム ID です。