JavaTM 2
Platform
Std. Ed. v1.4.0

org.xml.sax
インタフェース Parser

既知の実装クラスの一覧:
XMLReaderAdapter

推奨されていません。 このインタフェースは、名前空間をサポートする SAX2 の XMLReader インタフェースで置き換えられています。

public interface Parser

SAX (Simple API for XML) パーサの基本インタフェースです。

このモジュールは、ソースコード、文書ともに公開ドメインに置かれています。したがって、内容に関する保証は一切提供されません

SAX1 のメインのイベント提供インタフェースでしたが、SAX2 で、名前空間機能と高度な構成および拡張機能をサポートする XMLReader に置き換えられました。

すべての SAX1 パーサは、この基本インタフェースを実装する必要があります。アプリケーションは、さまざまな型のイベントハンドラを登録する際や、URI または文字ストリームから構文解析を開始する際にこのインタフェースを使用します。

すべての SAX1 パーサは、引数なしのコンストラクタも実装しなければなりません (その他のコンストラクタも使用可能)。

SAX1 パーサは再利用可能ですが、再入不可能です。つまり最初の構文解析が終了したら、アプリケーションはパーサオブジェクトを再利用できますが (別の入力ソースでの再利用も可能)、1 回の構文解析で parse() メソッドを繰り返し呼び出すことはできません。

導入されたバージョン:
SAX 1.0
関連項目:
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)
          推奨されていません。 アプリケーションにエラーや警告のロケールの要求を許可します。
 

メソッドの詳細

setLocale

public void setLocale(Locale locale)
               throws SAXException
推奨されていません。 
アプリケーションにエラーや警告のロケールの要求を許可します。

SAX パーサはエラーおよび警告の地域対応を義務付けられていません。しかし、要求されたロケールをサポートしていない場合は SAX 例外をスローする必要があります。構文解析中は、アプリケーションからロケールの変更を要求できません。

パラメータ:
locale - Java Locale オブジェクト
例外:
SAXException - 要求されたロケールがサポートされていない場合、以前の (デフォルトの) ロケールを使って例外をスロー
関連項目:
SAXException, SAXParseException

setEntityResolver

public void setEntityResolver(EntityResolver resolver)
推奨されていません。 
アプリケーションにカスタムエンティティリゾルバの登録を許可します。

アプリケーションがエンティティリゾルバを登録しないと、SAX パーサはシステム識別子を解決し、エンティティ自体への接続を開始します (HandlerBase のデフォルトの動作実装)。

アプリケーションは、構文解析中も新しいエンティティリゾルバを登録できます。新しいリゾルバが登録されると、SAX パーサはただちにこのリゾルバの使用を開始しなければなりません。

パラメータ:
resolver - 解決するエンティティのオブジェクト
関連項目:
EntityResolver, HandlerBase

setDTDHandler

public void setDTDHandler(DTDHandler handler)
推奨されていません。 
アプリケーションに DTD イベントハンドラの登録を許可します。

アプリケーションが DTD ハンドラを登録しないと、SAX パーサが報告するすべての DTD イベントは何の通知もなく無視されます (HandlerBase のデフォルトの動作実装)。

アプリケーションは、構文解析中も新しいハンドラを登録できます。新しいハンドラが登録されると、SAX パーサはただちにこのハンドラの使用を開始しなければなりません。

パラメータ:
handler - DTD ハンドラ
関連項目:
DTDHandler, HandlerBase

setDocumentHandler

public void setDocumentHandler(DocumentHandler handler)
推奨されていません。 
アプリケーションに文書イベントハンドラの登録を許可します。

アプリケーションが文書ハンドラを登録しないと、SAX パーサが報告するすべての文書イベントは何の通知もなく無視されます (HandlerBase のデフォルトの動作実装)。

アプリケーションは、構文解析中も新しいハンドラを登録できます。新しいハンドラが登録されると、SAX パーサはただちにこのハンドラの使用を開始しなければなりません。

パラメータ:
handler - 文書ハンドラ
関連項目:
DocumentHandler, HandlerBase

setErrorHandler

public void setErrorHandler(ErrorHandler handler)
推奨されていません。 
アプリケーションにエラーイベントハンドラの登録を許可します。

アプリケーションがエラーイベントハンドラを登録しないと、SAX パーサが報告するエラーイベントは何の通知もなく無視されます。ただし、fatalError だけは例外です。このエラーイベントは SAXException をスローします (HandlerBase のデフォルトの動作実装)。

アプリケーションは、構文解析中も新しいハンドラを登録できます。新しいハンドラが登録されると、SAX パーサはただちにこのハンドラの使用を開始しなければなりません。

パラメータ:
handler - エラーハンドラ
関連項目:
ErrorHandler, SAXException, HandlerBase

parse

public void parse(InputSource source)
           throws SAXException,
                  IOException
推奨されていません。 
XML 文書を構文解析します。

アプリケーションは、このメソッドを使って、有効な任意の入力ソース (文字ストリーム、バイトストリーム、または 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)

parse

public void parse(String systemId)
           throws SAXException,
                  IOException
推奨されていません。 
システム識別子 (URI) から XML 文書を構文解析します。

このメソッドを使用すれば、システム識別子から簡単に文書を読み取ることができます。以下の指定でも同じことができます。

 parse(new InputSource(systemId));
 

システム識別子が URL の場合、アプリケーションはこれをパーサに渡す前に完全に解決する必要があります。

パラメータ:
systemId - システム識別子 (URI)
例外:
SAXException - SAX 例外。ほかの例外をラップしている可能性がある
IOException - パーサからの IO 例外。通常、アプリケーションが提供するバイトストリームまたは文字ストリームからの例外
関連項目:
parse(org.xml.sax.InputSource)

JavaTM 2
Platform
Std. Ed. v1.4.0

バグの報告と機能のリクエスト
これ以外の API リファレンスおよび開発者用ドキュメントについては、 Java 2 SDK SE 開発者用ドキュメントを参照してください。 開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、 およびコード実例が含まれています。

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.