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

クラスDefaultHandler2

java.lang.Object
org.xml.sax.helpers.DefaultHandler
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を示している可能性があります。
    • resolveEntity

      public InputSource resolveEntity​(String publicId, String systemId) throws SAXException, IOException
      nullのエンティティ名とベースURIを使用してEntityResolver2.resolveEntity()を呼び出します。 このクラスを使用するには、そのメソッドをオーバーライドするだけでかまいません。
      定義:
      resolveEntity、インタフェース: EntityResolver
      オーバーライド:
      resolveEntity、クラス: DefaultHandler
      パラメータ:
      publicId - 公開識別子。使用できない場合はnull。
      systemId - XML文書に含まれているシステム識別子。
      戻り値:
      新しい入力ソース。デフォルトの動作が必要な場合はnull。
      例外:
      SAXException - 任意のSAX例外。ほかの例外をラップしている可能性があります。
      IOException - 新しい入力ソースの設定中にエラーが発生した場合。
      関連項目:
      EntityResolver.resolveEntity(java.lang.String, java.lang.String)