|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Objectorg.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()
バイトストリームまたは URI の文字セットを取得します。 |
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(),
InputStreampublic 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(),
Readerpublic Reader getCharacterStream()
setCharacterStream(java.io.Reader)
|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。