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
とのやりとりで入出力エラーが発生した場合。DocumentHandler
public 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 エラーが発生した場合。DocumentHandler
public 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 エラーが発生した場合。DocumentHandler
public void parse(String uri, DefaultHandler dh) throws SAXException, IOException
DefaultHandler
を使用して XML として構文解析します。uri
- 構文解析されるコンテンツの場所。dh
- 使用する SAX DefaultHandler。IllegalArgumentException
- uri が null の場合。IOException
- 入出力エラーが発生した場合。SAXException
- 処理中に SAX エラーが発生した場合。DocumentHandler
public 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 エラーが発生した場合。DocumentHandler
public void parse(File f, DefaultHandler dh) throws SAXException, IOException
DefaultHandler
を使用して XML として構文解析します。f
- 構文解析対象の XML を含むファイルdh
- 使用する SAX DefaultHandler。IllegalArgumentException
- File オブジェクトが null の場合。IOException
- 入出力エラーが発生した場合。SAXException
- 処理中に SAX エラーが発生した場合。DocumentHandler
public 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 エラーが発生した場合。DocumentHandler
public void parse(InputSource is, DefaultHandler dh) throws SAXException, IOException
InputSource
のコンテンツを、指定された DefaultHandler
を使用して XML として構文解析します。is
- 構文解析されるコンテンツを含む InputSource。dh
- 使用する SAX DefaultHandler。IllegalArgumentException
- InputSource
オブジェクトが null
の場合。IOException
- 入出力エラーが発生した場合。SAXException
- 処理中に SAX エラーが発生した場合。DocumentHandler
public 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
または使用されていない場合は null
UnsupportedOperationException
- 実装がこのメソッドをオーバーライドしない場合public boolean isXIncludeAware()
このパーサーの XInclude 処理モードを取得します。
SAXParserFactory.isXIncludeAware()
から返される値。UnsupportedOperationException
- 実装がこのメソッドをオーバーライドしない場合SAXParserFactory.setXIncludeAware(boolean)
バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.