XMLReader
インタフェースで置き換えられています。public interface Parser
このモジュールは、ソースコード、文書ともに公開ドメインに置かれています。したがって、内容に関する保証は一切提供されません。詳細については、http://www.saxproject.org を参照してください。
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)
非推奨。
アプリケーションにエラーや警告のロケールの要求を許可します。
|
void setLocale(Locale locale) throws SAXException
SAX パーサーはエラーおよび警告のローカライズを義務付けられていません。しかし、要求されたロケールをサポートしていない場合は SAX 例外をスローする必要があります。構文解析中は、アプリケーションからロケールの変更を要求できません。
locale
- Java Locale オブジェクト。SAXException
- 要求されたロケールがサポートされていない場合、前のロケールまたはデフォルトのロケールを使って例外をスローする。SAXException
, SAXParseException
void setEntityResolver(EntityResolver resolver)
アプリケーションがエンティティーリゾルバを登録しないと、SAX パーサーはシステム識別子を解決し、エンティティー自体への接続を開始します (HandlerBase のデフォルトの動作実装)。
アプリケーションは、構文解析中も新しいエンティティーリゾルバを登録できます。新しいリゾルバが登録されると、SAX パーサーはただちにこのリゾルバの使用を開始しなければいけません。
resolver
- エンティティーを解決するためのオブジェクト。EntityResolver
, HandlerBase
void setDTDHandler(DTDHandler handler)
アプリケーションが DTD ハンドラを登録しないと、SAX パーサーが報告するすべての DTD イベントは何の通知もなく無視されます (HandlerBase のデフォルトの動作実装)。
アプリケーションは、構文解析中も新しいハンドラを登録できます。新しいハンドラが登録されると、SAX パーサーはただちにこのハンドラの使用を開始しなければいけません。
handler
- DTD ハンドラ。DTDHandler
, HandlerBase
void setDocumentHandler(DocumentHandler handler)
アプリケーションが文書ハンドラを登録しないと、SAX パーサーが報告するすべての文書イベントは何の通知もなく無視されます (HandlerBase のデフォルトの動作実装)。
アプリケーションは、構文解析中も新しいハンドラを登録できます。新しいハンドラが登録されると、SAX パーサーはただちにこのハンドラの使用を開始しなければいけません。
handler
- 文書ハンドラ。DocumentHandler
, HandlerBase
void setErrorHandler(ErrorHandler handler)
アプリケーションがエラーイベントハンドラを登録しないと、SAX パーサーが報告するエラーイベントは何の通知もなく無視されます。ただし、fatalError だけは例外です。 このエラーイベントは SAXException をスローします (HandlerBase のデフォルトの動作実装)。
アプリケーションは、構文解析中も新しいハンドラを登録できます。新しいハンドラが登録されると、SAX パーサーはただちにこのハンドラの使用を開始しなければいけません。
handler
- エラーハンドラ。ErrorHandler
, SAXException
, HandlerBase
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)
void parse(String systemId) throws SAXException, IOException
このメソッドを使用すれば、システム識別子から簡単に文書を読み取ることができます。次の指定でも同じことができます。
parse(new InputSource(systemId));
システム識別子が URL の場合、アプリケーションはこれをパーサーに渡す前に完全に解決する必要があります。
systemId
- システム識別子 (URI)。SAXException
- 任意の SAX 例外。ほかの例外をラップしている可能性があります。IOException
- パーサーからの IO 例外。アプリケーションが提供するバイトストリームまたは文字ストリームから発生する可能性があります。parse(org.xml.sax.InputSource)
バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.