クラス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
  • コンストラクタのサマリー

    コンストラクタ
    修飾子
    コンストラクタ
    説明
    protected
    インスタンス化を妨げるprotectedコンストラクタです。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    abstract Parser
    このクラスの実装によってカプセル化されたSAXパーサーを返します。
    abstract Object
    XMLReaderの基本となる実装で要求された特定のプロパティを返します。
    XMLプロセッサによって使用されているSchemaへの参照を取得します。
    abstract XMLReader
    このクラスの実装によりカプセル化されるXMLReaderを返します。
    abstract boolean
    このパーサーが名前空間を認識するように構成されているかどうかを示します。
    abstract boolean
    このパーサーがXMLドキュメントを検証するように構成されているかどうかを示します。
    boolean
    このパーサーのXInclude処理モードを取得します。
    void
    指定されたファイルの内容を、指定されたHandlerBaseを使用してXMLとして構文解析します。
    void
    指定されたファイルの内容を、指定されたDefaultHandlerを使用してXMLとして構文解析します。
    void
    指定されたHandlerBaseを使用して、指定されたInputStreamインスタンスの内容をXMLとして構文解析します。
    void
    parse(InputStream is, HandlerBase hb, String systemId)
    指定されたHandlerBaseを使用して、指定されたInputStreamインスタンスの内容をXMLとして構文解析します。
    void
    指定されたDefaultHandlerを使用して、指定されたInputStreamインスタンスの内容をXMLとして構文解析します。
    void
    parse(InputStream is, DefaultHandler dh, String systemId)
    指定されたDefaultHandlerを使用して、指定されたInputStreamインスタンスの内容をXMLとして構文解析します。
    void
    指定されたURI (Uniform Resource Identifier)で表されたコンテンツを、指定されたHandlerBaseを使用してXMLとして構文解析します。
    void
    指定されたURI (Uniform Resource Identifier)で表わされたコンテンツを、指定されたDefaultHandlerを使用してXMLとして構文解析します。
    void
    指定されたInputSourceのコンテンツを、指定されたHandlerBaseを使用してXMLとして構文解析します。
    void
    指定されたInputSourceのコンテンツを、指定されたDefaultHandlerを使用してXMLとして構文解析します。
    void
    このSAXParserを元の構成にリセットします。
    abstract void
    setProperty(String name, Object value)
    XMLReaderの基本となる実装で特定のプロパティを設定します。

    クラスオブジェクトで宣言されたメソッド

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    修飾子と型
    メソッド
    説明
    protected Object
    このオブジェクトのコピーを作成して、返します。
    boolean
    このオブジェクトと他のオブジェクトが等しいかどうかを示します。
    protected void
    削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。
    最終決定は非推奨であり、将来のリリースで削除される可能性があります。
    final Class<?>
    このObjectの実行時クラスを返します。
    int
    このオブジェクトに対するハッシュ・コード値を返します。
    final void
    このオブジェクトのモニターで待機中のスレッドを1つ再開します。
    final void
    このオブジェクトのモニターで待機中のすべてのスレッドを再開します。
    オブジェクトの文字列表現を返します。
    final void
    現在のスレッドが目覚めるまで待機します。通常、notifiedまたはinterruptedです。
    final void
    wait(long timeoutMillis)
    現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
    final void
    wait(long timeoutMillis, int nanos)
    現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
  • コンストラクタの詳細

    • 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とのやりとりで入出力エラーが発生した場合。
      関連項目:
    • 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エラーが発生した場合。
      関連項目:
    • 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エラーが発生した場合。
      関連項目:
    • 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エラーが発生した場合。
      関連項目:
    • 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エラーが発生した場合。
      関連項目:
    • 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エラーが発生した場合。
      関連項目:
    • 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エラーが発生した場合。
      関連項目:
    • parse

      public void parse(File f, DefaultHandler dh) throws SAXException, IOException
      指定されたファイルの内容を、指定されたDefaultHandlerを使用してXMLとして構文解析します。
      パラメータ:
      f - 構文解析対象のXMLを含むファイル
      dh - 使用するSAX DefaultHandler。
      スロー:
      IllegalArgumentException - Fileオブジェクトがnullの場合。
      IOException - 入出力エラーが発生した場合。
      SAXException - 処理中にSAXエラーが発生した場合。
      関連項目:
    • 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エラーが発生した場合。
      関連項目:
    • 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エラーが発生した場合。
      関連項目:
    • 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はプロパティ名を認識するが、そのプロパティをサポートしない場合。
      関連項目:
    • getProperty

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

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

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

      public Schema getSchema()

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

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

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

      public boolean isXIncludeAware()

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

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