モジュール java.xml
パッケージ org.xml.sax.ext

クラスDefaultHandler2

  • すべての実装されたインタフェース:
    ContentHandler, DTDHandler, EntityResolver, ErrorHandler, DeclHandler, EntityResolver2, LexicalHandler

    public class DefaultHandler2
    extends DefaultHandler
    implements LexicalHandler, DeclHandler, EntityResolver2
    このクラスはSAX2の基本となるハンドラ・クラスを拡張して、SAX2のLexicalHandlerDeclHandler、およびEntityResolver2拡張をサポートします。 元のSAX1 resolveEntity()メソッドをオーバーライドする以外は、追加されたハンドラ・メソッドは戻るだけです。 サブクラサーはメソッドごとにすべてをオーバーライドできます。
    このモジュールは、ソース・コード、文書ともに公開ドメインに置かれています。したがって、内容に関する保証は一切提供されません

    ノート: このクラスは、ContentHandler.setDocumentLocator()呼出しにLocator2オブジェクトが渡され、またContentHandler.startElement()呼出しにAttributes2オブジェクトが渡されたことをすでに認識している可能性があります。

    導入されたバージョン:
    1.5, SAX 2.0 (extensions 1.1 alpha)
    • コンストラクタの詳細

      • DefaultHandler2

        public DefaultHandler2()
        すべての構文解析イベントを無視するハンドラを構築します。
    • メソッドの詳細

      • getExternalSubset

        public InputSource getExternalSubset​(String name,
                                             String baseURI)
                                      throws SAXException,
                                             IOException
        外部サブセットが文書テキストに宣言されなかった場合、何も使用されないことをパーサーに通知します。
        定義:
        getExternalSubset、インタフェースEntityResolver2
        パラメータ:
        name - 文書のルート要素の識別。 利用可能なDOCTYPE宣言または実際のルート要素からの名前。
        baseURI - 文書のベースURI。外部サブセットを選択する追加ヒントとして機能する。 XMLReaderにInputSourceしか提供されなかったためにnullとなる場合を除き、常に絶対URIである。
        戻り値:
        パーサーによって使用される新しい外部サブセットを記述するInputSourceオブジェクト。外部サブセットが提供されない場合はnullが示される。
        例外:
        SAXException - 任意のSAX例外。ほかの例外をラップしている可能性があります。
        IOException - 新しいInputStreamやReaderの作成失敗、または不正なURLを示している可能性があります。
      • resolveEntity

        public InputSource resolveEntity​(String name,
                                         String publicId,
                                         String baseURI,
                                         String systemId)
                                  throws SAXException,
                                         IOException
        基底URIに対してsystemIdを解釈処理して結果が絶対URIとなったエンティティ・テキストを読み取るようパーサーに通知します。 古いDefaultHandler.resolveEntity()メソッドはこのメソッドを呼び出すようにオーバーライドされるので、このメソッドはnullのnamebaseURI、およびすでに絶対化されているsystemIdで呼び出されることがあります。
        定義:
        resolveEntity、インタフェースEntityResolver2
        パラメータ:
        name - 解決される外部エンティティの識別。 外部サブセットの「[dtd]」やパラメータ・エンティティを示す「%」で開始される名前、またはそれ以外の一般エンティティの名前。 SAX2パーサーによって呼び出される場合nullにはなりません。
        publicId - 参照される外部エンティティの公開識別子(XML仕様で要求されるように正規化されている)。提供されなかった場合はnull。
        baseURI - 相対的なsystemIDを解釈するときに基準にするURI。 XMLReaderはInputSourceに指定された可能性があるので、nullでないかぎり常に絶対URI。 このURIは、関連する宣言を開始する「<」に関連付けられているXML仕様によって定義されます。
        systemId - 参照される外部エンティティのシステム識別子。相対URIまたは絶対URI。 SAX2パーサーによって呼び出される場合nullにはなりません。宣言されたエンティティと外部サブセットのみが、そうしたパーサーによって解決されます。
        戻り値:
        パーサーによって使用される新しい入力ソースを記述するInputSourceオブジェクト。 nullを返すことによって、基底URIに対するシステムIDを解決し、結果として得られるURIにつなげるようにパーサーに指示する。
        例外:
        SAXException - 任意のSAX例外。ほかの例外をラップしている可能性があります。
        IOException - 新しいInputStreamやReaderの作成失敗、または不正なURLを示している可能性があります。