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, 2013, Oracle and/or its affiliates. All rights reserved.