|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object org.xml.sax.InputSource
public class InputSource
XML エンティティの単一の入力ソースです。
このモジュールは、ソースコード、文書ともに公開ドメインに置かれています。したがって、内容に関する保証は一切提供されません。詳細については、http://www.saxproject.org を参照してください。
SAX アプリケーションは、このクラスを利用して入力ソースに関する情報を単一のオブジェクトにカプセル化します。このオブジェクトには、公開識別子、システム識別子、バイトストリーム (エンコーディングが指定されている場合もある)、文字ストリームなどが含まれます。
アプリケーションは、入力ソースを Parser.parse メソッドの引数として、あるいは EntityResolver.resolveEntity メソッドの戻り値としてパーサに渡すことができます。
SAX パーサは、InputSource オブジェクトを使用して XML 入力を読み込む方法を決定します。使用可能な文字ストリームがある場合、パーサは、そのストリーム内で見つかったテキストエンコーディング宣言を無視して、そのストリームを直接読み込みます。文字ストリームがなく、バイトストリームがある場合、パーサは、InputSource で指定されたエンコーディングを使用して、そのバイトストリームを使用します。あるいは、エンコーディングが指定されていない場合は、XML 仕様にあるようなアルゴリズムを使った文字エンコーディングを自動検出して、そのバイトストリームを使用します。文字ストリームとバイトストリームのどちらも使用できない場合、パーサは、システム識別子によって識別されたリソースへの URI 接続を開こうとします。
InputSource オブジェクトはアプリケーションに所属するため、これを SAX パーサが変更することはできませんが、必要に応じてコピーすることは可能です。ただし、バイトストリームと文字ストリームの両方の標準的な処理は、それらを end-of-parse クリーンアップの一環として閉じることであるため、アプリケーションは、パーサに渡されたあとでそのようなストリームを再利用しようとはしません。
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 |
コンストラクタの詳細 |
---|
public InputSource()
setPublicId(java.lang.String)
,
setSystemId(java.lang.String)
,
setByteStream(java.io.InputStream)
,
setCharacterStream(java.io.Reader)
,
setEncoding(java.lang.String)
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)
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)
public InputSource(Reader characterStream)
アプリケーションの作成者は、setSystemId() を使って、相対 URI を解決するためのベースを提供する必要があります。また、setPublicId を使ってアプリケーションに公開識別子を含めることができます。
バイト順序記号は文字ストリームに含まれません。
setPublicId(java.lang.String)
,
setSystemId(java.lang.String)
,
setByteStream(java.io.InputStream)
,
setCharacterStream(java.io.Reader)
メソッドの詳細 |
---|
public void setPublicId(String publicId)
公開識別子は常にオプションです。アプリケーションに公開識別子を含めたい場合は、位置情報の一部として指定します。
publicId
- 公開識別子を示す文字列getPublicId()
,
Locator.getPublicId()
,
SAXParseException.getPublicId()
public String getPublicId()
setPublicId(java.lang.String)
public void setSystemId(String systemId)
バイトストリームまたは文字ストリームがある場合、システム識別子は省略可能ですが、指定した方が便利です。アプリケーションはそれを使用して相対 URI を解決し、エラーメッセージや警告に含めることができるためです。パーサは、バイトストリームまたは文字ストリームが指定されていない場合に限り、URI への接続を開こうとします。
システム識別子が示すオブジェクトの文字セットがわかっている場合、アプリケーションは setEncoding メソッドを使ってこのエンコーディングを登録できます。
システム識別子が URL である場合、完全に解決する必要があります。また、相対 URL でない場合もあります。
systemId
- システム識別子を示す文字列setEncoding(java.lang.String)
,
getSystemId()
,
Locator.getSystemId()
,
SAXParseException.getSystemId()
public String getSystemId()
getEncoding メソッドは、このシステム識別子が示すオブジェクトの文字セットを返します。不明な場合は null を返します。
システム識別子が URL である場合、完全に解決されます。
setSystemId(java.lang.String)
,
getEncoding()
public void setByteStream(InputStream byteStream)
SAX パーサは、バイトストリームのほかに文字ストリームが指定されている場合、バイトストリームを無視します。バイトストリームは、URI 接続を開始するより優先的に使用されます。
バイトストリームの文字セットがわかっている場合、アプリケーションは setEncoding メソッドを使ってこのエンコーディングを設定する必要があります。
byteStream
- XML 文書またはその他のエンティティを含むバイトストリームsetEncoding(java.lang.String)
,
getByteStream()
,
getEncoding()
,
InputStream
public InputStream getByteStream()
getEncoding メソッドは、このバイトストリームの文字セットを返します。不明な場合は null を返します。
getEncoding()
,
setByteStream(java.io.InputStream)
public void setEncoding(String encoding)
エンコーディングは、XML エンコーディング宣言 (XML 1.0 勧告のセクション 4.3.3 を参照) の規定に合った文字列でなければなりません。
アプリケーションが文字ストリームを提供する場合、このメソッドには何の効果もありません。
encoding
- 文字セットを説明する文字列setSystemId(java.lang.String)
,
setByteStream(java.io.InputStream)
,
getEncoding()
public String getEncoding()
setByteStream(java.io.InputStream)
,
getSystemId()
,
getByteStream()
public void setCharacterStream(Reader characterStream)
文字ストリームが指定されている場合、SAX パーサはバイトストリームを無視し、また、システム識別子への URI 接続を開始しません。
characterStream
- XML 文書またはその他のエンティティを含む文字ストリームgetCharacterStream()
,
Reader
public Reader getCharacterStream()
setCharacterStream(java.io.Reader)
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。