|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
XMLReader
インタフェースで置き換えられています。
SAX (Simple API for XML) パーサの基本インタフェースです。
このモジュールは、ソースコード、文書ともに公開ドメインに置かれています。したがって、内容に関する保証は一切提供されません。
SAX1 のメインのイベント提供インタフェースでしたが、SAX2 で、名前空間機能と高度な構成および拡張機能をサポートする XMLReader
に置き換えられました。
すべての SAX1 パーサは、この基本インタフェースを実装する必要があります。アプリケーションは、さまざまな型のイベントハンドラを登録する際や、URI または文字ストリームから構文解析を開始する際にこのインタフェースを使用します。
すべての SAX1 パーサは、引数なしのコンストラクタも実装しなければなりません (その他のコンストラクタも使用可能)。
SAX1 パーサは再利用可能ですが、再入不可能です。つまり最初の構文解析が終了したら、アプリケーションはパーサオブジェクトを再利用できますが (別の入力ソースでの再利用も可能)、1 回の構文解析で parse() メソッドを繰り返し呼び出すことはできません。
EntityResolver
,
DTDHandler
,
DocumentHandler
,
ErrorHandler
,
HandlerBase
,
InputSource
メソッドの概要 | |
void |
parse(InputSource source)
推奨されていません。 XML 文書を構文解析します。 |
void |
parse(String systemId)
推奨されていません。 システム識別子 (URI) から XML 文書を構文解析します。 |
void |
setDocumentHandler(DocumentHandler handler)
推奨されていません。 アプリケーションに文書イベントハンドラの登録を許可します。 |
void |
setDTDHandler(DTDHandler handler)
推奨されていません。 アプリケーションに DTD イベントハンドラの登録を許可します。 |
void |
setEntityResolver(EntityResolver resolver)
推奨されていません。 アプリケーションにカスタムエンティティリゾルバの登録を許可します。 |
void |
setErrorHandler(ErrorHandler handler)
推奨されていません。 アプリケーションにエラーイベントハンドラの登録を許可します。 |
void |
setLocale(Locale locale)
推奨されていません。 アプリケーションにエラーや警告のロケールの要求を許可します。 |
メソッドの詳細 |
public void setLocale(Locale locale) throws SAXException
SAX パーサはエラーおよび警告の地域対応を義務付けられていません。しかし、要求されたロケールをサポートしていない場合は SAX 例外をスローする必要があります。構文解析中は、アプリケーションからロケールの変更を要求できません。
locale
- Java Locale オブジェクト
SAXException
- 要求されたロケールがサポートされていない場合、以前の (デフォルトの) ロケールを使って例外をスローSAXException
,
SAXParseException
public void setEntityResolver(EntityResolver resolver)
アプリケーションがエンティティリゾルバを登録しないと、SAX パーサはシステム識別子を解決し、エンティティ自体への接続を開始します (HandlerBase のデフォルトの動作実装)。
アプリケーションは、構文解析中も新しいエンティティリゾルバを登録できます。新しいリゾルバが登録されると、SAX パーサはただちにこのリゾルバの使用を開始しなければなりません。
resolver
- 解決するエンティティのオブジェクトEntityResolver
,
HandlerBase
public void setDTDHandler(DTDHandler handler)
アプリケーションが DTD ハンドラを登録しないと、SAX パーサが報告するすべての DTD イベントは何の通知もなく無視されます (HandlerBase のデフォルトの動作実装)。
アプリケーションは、構文解析中も新しいハンドラを登録できます。新しいハンドラが登録されると、SAX パーサはただちにこのハンドラの使用を開始しなければなりません。
handler
- DTD ハンドラDTDHandler
,
HandlerBase
public void setDocumentHandler(DocumentHandler handler)
アプリケーションが文書ハンドラを登録しないと、SAX パーサが報告するすべての文書イベントは何の通知もなく無視されます (HandlerBase のデフォルトの動作実装)。
アプリケーションは、構文解析中も新しいハンドラを登録できます。新しいハンドラが登録されると、SAX パーサはただちにこのハンドラの使用を開始しなければなりません。
handler
- 文書ハンドラDocumentHandler
,
HandlerBase
public void setErrorHandler(ErrorHandler handler)
アプリケーションがエラーイベントハンドラを登録しないと、SAX パーサが報告するエラーイベントは何の通知もなく無視されます。ただし、fatalError だけは例外です。このエラーイベントは SAXException をスローします (HandlerBase のデフォルトの動作実装)。
アプリケーションは、構文解析中も新しいハンドラを登録できます。新しいハンドラが登録されると、SAX パーサはただちにこのハンドラの使用を開始しなければなりません。
handler
- エラーハンドラErrorHandler
,
SAXException
,
HandlerBase
public void parse(InputSource source) throws SAXException, IOException
アプリケーションは、このメソッドを使って、有効な任意の入力ソース (文字ストリーム、バイトストリーム、または URI) から XML 文書の構文解析を開始するように SAX パーサに指示を送ります。
構文解析中は、アプリケーションからこのメソッドを呼び出すことはできません。追加する XML 文書がある場合はその 1 つ 1 つに新しい Parser を作成する必要があります。構文解析が完了したら、同じ Parser オブジェクトを再利用できます。別の入力ソースでの再利用も可能です。
source
- XML 文書のトップレベルの入力ソースです。
SAXException
- SAX 例外。ほかの例外をラップしている可能性がある
IOException
- パーサからの IO 例外。通常、アプリケーションが提供するバイトストリームまたは文字ストリームからの例外InputSource
,
parse(java.lang.String)
,
setEntityResolver(org.xml.sax.EntityResolver)
,
setDTDHandler(org.xml.sax.DTDHandler)
,
setDocumentHandler(org.xml.sax.DocumentHandler)
,
setErrorHandler(org.xml.sax.ErrorHandler)
public void parse(String systemId) throws SAXException, IOException
このメソッドを使用すれば、システム識別子から簡単に文書を読み取ることができます。以下の指定でも同じことができます。
parse(new InputSource(systemId));
システム識別子が URL の場合、アプリケーションはこれをパーサに渡す前に完全に解決する必要があります。
systemId
- システム識別子 (URI)
SAXException
- SAX 例外。ほかの例外をラップしている可能性がある
IOException
- パーサからの IO 例外。通常、アプリケーションが提供するバイトストリームまたは文字ストリームからの例外parse(org.xml.sax.InputSource)
|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Java、Java 2D、および JDBC は米国ならびにその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.