モジュール java.xml
パッケージ 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​(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​(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​(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
      • 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。
      • getSchema

        public Schema getSchema​()

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

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

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