public abstract class SAXParser extends Object
XMLReader実装クラスをラップするAPIを定義します。JAXP 1.0では、このクラスはParserインタフェースをラップしましたが、このインタフェースはXMLReaderに置き換えられています。移行を簡単にするために、このクラスは新しいメソッドのサポートと同様、同じ名前とインタフェースのサポートも継続します。このクラスのインスタンスはSAXParserFactory.newSAXParser()メソッドにより取得できます。このクラスのインスタンスを取得すると、さまざまな入力ソースからXMLドキュメントを構文解析できます。これらの入力ソースには、InputStream、File、URL、およびSAX InputSourceがあります。このstaticメソッドは、システム・プロパティ設定に基づいて新しいファクトリ・インスタンスを作成するか、またはプロパティが定義されていない場合にプラットフォームのデフォルトを使用します。
どのファクトリ実装を作成するかを制御するシステム・プロパティの名前は"javax.xml.parsers.SAXParserFactory"です。このプロパティは、このabstractクラスの具象サブクラスを命名します。プロパティが定義されていない場合は、プラットフォームのデフォルトが使用されます。
HandlerBaseまたはDefaultHandlerのメソッドが呼び出されます。
ベースとなる実装をラップするこのクラスの実装側では、ParserAdapterクラスを使用して、そのSAX1実装をこの改訂されたクラスの下で動作するように、最初に適合させることを考慮できます。
| 修飾子 | コンストラクタと説明 |
|---|---|
protected |
SAXParser()
インストールを妨げるprotectedコンストラクタです。
|
| 修飾子と型 | メソッドと説明 |
|---|---|
abstract Parser |
getParser()
このクラスの実装によりカプセル化されるSAXパーサーを返します。
|
abstract Object |
getProperty(String name)
XMLReaderのベースとなる実装で要求された特定のプロパティを返します。 |
Schema |
getSchema()
XMLプロセッサによって使用される
Schemaへの参照を取得します。 |
abstract XMLReader |
getXMLReader()
このクラスの実装によりカプセル化される
XMLReaderを返します。 |
abstract boolean |
isNamespaceAware()
このパーサーが名前空間を認識するように構成されているかどうかを示します。
|
abstract boolean |
isValidating()
このパーサーがXMLドキュメントを検証するように構成されているかどうかを示します。
|
boolean |
isXIncludeAware()
このパーサーのXInclude処理モードを取得します。
|
void |
parse(File f, DefaultHandler dh)
指定されたファイルの内容を、指定された
DefaultHandlerを使用してXMLとして構文解析します。 |
void |
parse(File f, HandlerBase hb)
指定されたファイルの内容を、指定された
HandlerBaseを使用してXMLとして構文解析します。 |
void |
parse(InputSource is, DefaultHandler dh)
指定された
InputSourceのコンテンツを、指定されたDefaultHandlerを使用してXMLとして構文解析します。 |
void |
parse(InputSource is, HandlerBase hb)
指定された
InputSourceのコンテンツを、指定されたHandlerBaseを使用してXMLとして構文解析します。 |
void |
parse(InputStream is, DefaultHandler dh)
指定された
DefaultHandlerを使用して、指定されたInputStreamインスタンスの内容をXMLとして構文解析します。 |
void |
parse(InputStream is, DefaultHandler dh, String systemId)
指定された
DefaultHandlerを使用して、指定されたInputStreamインスタンスの内容をXMLとして構文解析します。 |
void |
parse(InputStream is, HandlerBase hb)
指定された
HandlerBaseを使用して、指定されたInputStreamインスタンスの内容をXMLとして構文解析します。 |
void |
parse(InputStream is, HandlerBase hb, String systemId)
指定された
HandlerBaseを使用して、指定されたInputStreamインスタンスの内容をXMLとして構文解析します。 |
void |
parse(String uri, DefaultHandler dh)
指定されたURI (Uniform Resource Identifier)で表わされたコンテンツを、指定された
DefaultHandlerを使用してXMLとして構文解析します。 |
void |
parse(String uri, HandlerBase hb)
指定されたURI (Uniform Resource Identifier)で表されたコンテンツを、指定された
HandlerBaseを使用してXMLとして構文解析します。 |
void |
reset()
この
SAXParserを元の構成にリセットします。 |
abstract void |
setProperty(String name, Object value)
XMLReaderのベースとなる実装で特定のプロパティを設定します。 |
protected SAXParser()
インストールを妨げるprotectedコンストラクタです。SAXParserFactory.newSAXParser()を使用してください。
public void reset()
このSAXParserを元の構成にリセットします。
SAXParserは、SAXParserFactory.newSAXParser()で作成された時点の状態にリセットされます。reset()は、既存のSAXParserの再使用を許可するように設計されているため、新しいSAXParserの作成に関連するリソースを節約できます。
SAXParserをリセットした場合、同じSchema Object (たとえば、Object.equals(Object obj))を持つことは保証されません。機能的に同じSchemaを持つことは保証されます。
UnsupportedOperationException - 実装がこのメソッドをオーバーライドしない場合。public void parse(InputStream is, HandlerBase hb) throws SAXException, IOException
指定されたHandlerBaseを使用して、指定されたInputStreamインスタンスの内容をXMLとして構文解析します。HandlerBaseクラスはSAX 2.0では非推奨であるため、このメソッドのDefaultHandlerバージョンを使用することをお勧めします。
is - 構文解析されるコンテンツを含むInputStream。hb - 使用するSAX HandlerBase。IllegalArgumentException - 指定されたInputStreamがnullの場合。SAXException - 構文解析でSAXエラーが生成された場合。IOException - InputStreamとのやりとりで入出力エラーが発生した場合。DocumentHandlerpublic void parse(InputStream is, HandlerBase hb, String systemId) throws SAXException, IOException
指定されたHandlerBaseを使用して、指定されたInputStreamインスタンスの内容をXMLとして構文解析します。HandlerBaseクラスはSAX 2.0では非推奨であるため、このメソッドのDefaultHandlerバージョンを使用することをお勧めします。
is - 構文解析されるコンテンツを含むInputStream。hb - 使用するSAX HandlerBase。systemId - 相対URIを解決するのに必要なシステム識別子。IllegalArgumentException - 指定されたInputStreamがnullである場合。IOException - InputStreamとのやりとりで入出力エラーが発生した場合。SAXException - 処理中にSAXエラーが発生した場合。version of this method instead.public void parse(InputStream is, DefaultHandler dh) throws SAXException, IOException
DefaultHandlerを使用して、指定されたInputStreamインスタンスの内容をXMLとして構文解析します。is - 構文解析されるコンテンツを含むInputStream。dh - 使用するSAX DefaultHandler。IllegalArgumentException - 指定されたInputStreamがnullの場合。IOException - 入出力エラーが発生した場合。SAXException - 処理中にSAXエラーが発生した場合。DocumentHandlerpublic void parse(InputStream is, DefaultHandler dh, String systemId) throws SAXException, IOException
DefaultHandlerを使用して、指定されたInputStreamインスタンスの内容をXMLとして構文解析します。is - 構文解析されるコンテンツを含むInputStream。dh - 使用するSAX DefaultHandler。systemId - 相対URIを解決するのに必要なシステム識別子。IllegalArgumentException - 指定されたInputStreamがnullの場合。IOException - 入出力エラーが発生した場合。SAXException - 処理中にSAXエラーが発生した場合。version of this method instead.public void parse(String uri, HandlerBase hb) throws SAXException, IOException
HandlerBaseを使用してXMLとして構文解析します。HandlerBaseクラスはSAX 2.0では非推奨であるため、このメソッドのDefaultHandlerバージョンを使用することをお勧めしますuri - 構文解析されるコンテンツの場所。hb - 使用するSAX HandlerBase。IllegalArgumentException - uriがnullの場合。IOException - 入出力エラーが発生した場合。SAXException - 処理中にSAXエラーが発生した場合。DocumentHandlerpublic void parse(String uri, DefaultHandler dh) throws SAXException, IOException
DefaultHandlerを使用してXMLとして構文解析します。uri - 構文解析されるコンテンツの場所。dh - 使用するSAX DefaultHandler。IllegalArgumentException - uriがnullの場合。IOException - 入出力エラーが発生した場合。SAXException - 処理中にSAXエラーが発生した場合。DocumentHandlerpublic void parse(File f, HandlerBase hb) throws SAXException, IOException
HandlerBaseを使用してXMLとして構文解析します。 HandlerBaseクラスはSAX 2.0では非推奨のため、このメソッドのDefaultHandlerバージョンを使用することをお勧めします。f - 構文解析対象のXMLを含むファイルhb - 使用するSAX HandlerBase。IllegalArgumentException - Fileオブジェクトがnullの場合。IOException - 入出力エラーが発生した場合。SAXException - 処理中にSAXエラーが発生した場合。DocumentHandlerpublic void parse(File f, DefaultHandler dh) throws SAXException, IOException
DefaultHandlerを使用してXMLとして構文解析します。f - 構文解析対象のXMLを含むファイルdh - 使用するSAX DefaultHandler。IllegalArgumentException - Fileオブジェクトがnullの場合。IOException - 入出力エラーが発生した場合。SAXException - 処理中にSAXエラーが発生した場合。DocumentHandlerpublic void parse(InputSource is, HandlerBase hb) throws SAXException, IOException
InputSourceのコンテンツを、指定されたHandlerBaseを使用してXMLとして構文解析します。 HandlerBaseクラスはSAX 2.0では非推奨のため、このメソッドのDefaultHandlerバージョンを使用することをお勧めします。is - 構文解析されるコンテンツを含むInputSource。hb - 使用するSAX HandlerBase。IllegalArgumentException - InputSourceオブジェクトがnullの場合。IOException - 入出力エラーが発生した場合。SAXException - 処理中にSAXエラーが発生した場合。DocumentHandlerpublic void parse(InputSource is, DefaultHandler dh) throws SAXException, IOException
InputSourceのコンテンツを、指定されたDefaultHandlerを使用してXMLとして構文解析します。is - 構文解析されるコンテンツを含むInputSource。dh - 使用するSAX DefaultHandler。IllegalArgumentException - InputSourceオブジェクトがnullの場合。IOException - 入出力エラーが発生した場合。SAXException - 処理中にSAXエラーが発生した場合。DocumentHandlerpublic abstract Parser getParser() throws SAXException
SAXException - 処理中にSAXエラーが発生した場合。public abstract XMLReader getXMLReader() throws SAXException
XMLReaderを返します。SAXException - 処理中にSAXエラーが発生した場合。public abstract boolean isNamespaceAware()
public abstract boolean isValidating()
public abstract void setProperty(String name, Object value) throws SAXNotRecognizedException, SAXNotSupportedException
XMLReaderのベースとなる実装で特定のプロパティを設定します。コア機能とコア・プロパティのリストについては、http://sax.sourceforge.net/?selected=get-setのサイトを参照してください。
JAXP 1.5またはそれ以降を実装する実装はすべて、XMLConstants.ACCESS_EXTERNAL_DTDおよびXMLConstants.ACCESS_EXTERNAL_SCHEMAプロパティをサポートしている必要があります。
XMLConstants.ACCESS_EXTERNAL_DTDプロパティを設定すると、外部DTDおよび外部エンティティ参照へのアクセスが、そのプロパティで指定されたプロトコルに制限されます。このプロパティの制限が原因で構文解析中にアクセスが拒否された場合は、SAXParserで定義された解析メソッドによってSAXExceptionがスローされます。
XMLConstants.ACCESS_EXTERNAL_SCHEMAプロパティを設定すると、schemaLocation属性によって設定された外部スキーマへのアクセスが、そのプロパティで指定されたプロトコルに制限されます。このプロパティの制限が原因で構文解析中にアクセスが拒否された場合は、SAXParserで定義された解析メソッドによってSAXExceptionがスローされます。
name - 設定するプロパティの名前。value - 設定するプロパティの値。SAXNotRecognizedException - ベースとなるXMLReaderがプロパティ名を認識しない場合。SAXNotSupportedException - ベースとなるXMLReaderはプロパティ名を認識するが、そのプロパティをサポートしない場合。XMLReader.setProperty(java.lang.String, java.lang.Object)public abstract Object getProperty(String name) throws SAXNotRecognizedException, SAXNotSupportedException
XMLReaderのベースとなる実装で要求された特定のプロパティを返します。
name - 取り出されるプロパティの名前。SAXNotRecognizedException - ベースとなるXMLReaderがプロパティ名を認識しない場合。SAXNotSupportedException - ベースとなるXMLReaderはプロパティ名を認識するが、そのプロパティをサポートしない場合。XMLReader.getProperty(java.lang.String)public Schema getSchema()
XMLプロセッサによって使用されるSchemaへの参照を取得します。
スキーマを使用していない場合はnullが返されます。
Schemaまたは使用されていない場合はnullUnsupportedOperationException - 実装がこのメソッドをオーバーライドしない場合public boolean isXIncludeAware()
このパーサーのXInclude処理モードを取得します。
SAXParserFactory.isXIncludeAware()から返される値。UnsupportedOperationException - 実装がこのメソッドをオーバーライドしない場合SAXParserFactory.setXIncludeAware(boolean) バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.