モジュール java.xml
パッケージ javax.xml.parsers

クラスSAXParser

java.lang.Object
javax.xml.parsers.SAXParser

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実装を最初に適合させることを検討できます。

導入されたバージョン:
1.4
  • コンストラクタの詳細

    • SAXParser

      protected SAXParser()

      インスタンス化を妨げるprotectedコンストラクタです。 SAXParserFactory.newSAXParser()を使用してください。

  • メソッドの詳細

    • reset

      public void reset()

      このSAXParserを元の構成にリセットします。

      SAXParserは、SAXParserFactory.newSAXParser()で作成された時点の状態にリセットされます。reset()は、既存のSAXParserの再使用を許可するように設計されているため、新しいSAXParserの作成に関連するリソースを節約できます。

      SAXParserをリセットした場合、同じSchema Object (たとえば、Object.equals(Object obj))を持つことは保証されません。 機能的に同じSchemaを持つことは保証されます。

      例外:
      UnsupportedOperationException - 実装がこのメソッドをオーバーライドしない場合。
      導入されたバージョン:
      1.5
    • parse

      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
    • parse

      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 - 指定されたInputStreamnullである場合。
      IOException - InputStreamとのやりとりで入出力エラーが発生した場合。
      SAXException - 処理中にSAXエラーが発生した場合。
      関連項目:
      version of this method instead.
    • parse

      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
    • parse

      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.
    • parse

      public void parse(String uri, HandlerBase hb) throws SAXException, IOException
      指定されたURI (Uniform Resource Identifier)で表されたコンテンツを、指定されたHandlerBaseを使用してXMLとして構文解析します。 HandlerBaseクラスはSAX 2.0では非推奨であるため、このメソッドのDefaultHandlerバージョンを使用することをお勧めします
      パラメータ:
      uri - 構文解析されるコンテンツの場所。
      hb - 使用するSAX HandlerBase。
      例外:
      IllegalArgumentException - uriがnullの場合。
      IOException - 入出力エラーが発生した場合。
      SAXException - 処理中にSAXエラーが発生した場合。
      関連項目:
      DocumentHandler
    • parse

      public void parse(String uri, DefaultHandler dh) throws SAXException, IOException
      指定されたURI (Uniform Resource Identifier)で表わされたコンテンツを、指定されたDefaultHandlerを使用してXMLとして構文解析します。
      パラメータ:
      uri - 構文解析されるコンテンツの場所。
      dh - 使用するSAX DefaultHandler。
      例外:
      IllegalArgumentException - uriがnullの場合。
      IOException - 入出力エラーが発生した場合。
      SAXException - 処理中にSAXエラーが発生した場合。
      関連項目:
      DocumentHandler
    • parse

      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
    • parse

      public void parse(File f, DefaultHandler dh) throws SAXException, IOException
      指定されたファイルの内容を、指定されたDefaultHandlerを使用してXMLとして構文解析します。
      パラメータ:
      f - 構文解析対象のXMLを含むファイル
      dh - 使用するSAX DefaultHandler。
      例外:
      IllegalArgumentException - Fileオブジェクトがnullの場合。
      IOException - 入出力エラーが発生した場合。
      SAXException - 処理中にSAXエラーが発生した場合。
      関連項目:
      DocumentHandler
    • parse

      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
    • parse

      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
    • getParser

      public abstract Parser getParser() throws SAXException
      このクラスの実装によってカプセル化されたSAXパーサーを返します。
      戻り値:
      このクラスの実装によってカプセル化されたSAXパーサー。
      例外:
      SAXException - 処理中にSAXエラーが発生した場合。
    • getXMLReader

      public abstract XMLReader getXMLReader() throws SAXException
      このクラスの実装によりカプセル化されるXMLReaderを返します。
      戻り値:
      このクラスの実装によりカプセル化されるXMLReader。
      例外:
      SAXException - 処理中にSAXエラーが発生した場合。
    • isNamespaceAware

      public abstract boolean isNamespaceAware()
      このパーサーが名前空間を認識するように構成されているかどうかを示します。
      戻り値:
      このパーサーが名前空間を認識するように構成されている場合はtrue、そうでない場合はfalse。
    • isValidating

      public abstract boolean isValidating()
      このパーサーがXMLドキュメントを検証するように構成されているかどうかを示します。
      戻り値:
      このパーサーがXMLドキュメントを検証するように構成されている場合はtrue、そうでない場合はfalse。
    • setProperty

      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)
    • getProperty

      public abstract Object getProperty(String name) throws SAXNotRecognizedException, SAXNotSupportedException

      XMLReaderの基本となる実装で要求された特定のプロパティを返します。

      パラメータ:
      name - 取り出されるプロパティの名前。
      戻り値:
      要求されたプロパティの値。
      例外:
      SAXNotRecognizedException - 基本となるXMLReaderがプロパティ名を認識しない場合。
      SAXNotSupportedException - 基本となるXMLReaderはプロパティ名を認識するが、そのプロパティをサポートしない場合。
      関連項目:
      XMLReader.getProperty(java.lang.String)
    • getSchema

      public Schema getSchema()

      XMLプロセッサによって使用されるSchemaへの参照を取得します。

      スキーマを使用していない場合はnullが返されます。

      戻り値:
      使用されているSchemaまたは使用されていない場合はnull
      例外:
      UnsupportedOperationException - 実装がこのメソッドをオーバーライドしない場合
      導入されたバージョン:
      1.5
    • isXIncludeAware

      public boolean isXIncludeAware()

      このパーサーのXInclude処理モードを取得します。

      戻り値:
      このパーサーがファクトリから作成されたときにSAXParserFactory.isXIncludeAware()から返される値。
      例外:
      UnsupportedOperationException - 実装がこのメソッドをオーバーライドしない場合
      導入されたバージョン:
      1.5
      関連項目:
      SAXParserFactory.setXIncludeAware(boolean)