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

インタフェースDTDHandler

  • 既知のすべてのサブインタフェース:
    TransformerHandler
    既知のすべての実装クラス:
    DefaultHandler, DefaultHandler2, HandlerBase, XMLFilterImpl

    public interface DTDHandler
    標準DTD関連イベントの通知を受け取ります。
    このモジュールは、ソース・コード、文書ともに公開ドメインに置かれています。したがって、内容に関する保証は一切提供されません 詳細については、http://www.saxproject.orgを参照してください。

    表記法や解析対象外のエンティティに関する情報が必要な場合、SAXアプリケーションはこのインタフェースを実装し、パーサーのsetDTDHandlerメソッドを使ってインスタンスをSAXパーサーに登録します。 パーサーはこのインスタンスを使って、表記法や解析対象外のエンティティの宣言をアプリケーションに報告します。

    このインタフェースには、XML勧告でプロセッサが報告しなければならないとされているDTDイベント(表記法と解析対象外エンティティの宣言)だけが含まれます。

    SAXパーサーは、これらのイベントを、表記法や解析対象外のエンティティが宣言された順序とは関係なく、任意の順序で報告します。ただし、すべてのDTDイベントは、文書ハンドラのstartDocumentイベントの後と最初のstartElementイベントの前で報告されなければいけません。 LexicalHandlerが使用されている場合、これらのイベントはendDTDイベントの前でも報告される必要があります。

    将来使用できるように情報をハッシュ・テーブルやオブジェクト・ツリー内に格納するアプリケーションと、そうでないアプリケーションがあります。 「NOTATION」、「ENTITY」または「ENTITIES」型の属性が検出された場合、アプリケーションはこのインタフェースから取得した情報を使って属性値に対応するエンティティや表記法を検出できます。

    導入されたバージョン:
    1.4, SAX 1.0
    関連項目:
    XMLReader.setDTDHandler(org.xml.sax.DTDHandler)
    • メソッドの詳細

      • notationDecl

        void notationDecl​(String name,
                          String publicId,
                          String systemId)
                   throws SAXException
        表記法宣言イベントの通知を受け取ります。

        あとで参照できるように表記法を記録するアプリケーションと、記録しないアプリケーションがあります。表記法は属性値として解析対象外エンティティの宣言に表示されることがあり、処理命令のターゲット名で使用されることがあります。

        1個以上のpublicIdおよびsystemIdがnull以外の値である必要があります。 システム識別子が存在し、これがURLである場合、SAXパーサーはこの識別子をこのイベントからアプリケーションに渡す前に完全に解決する必要があります。

        表記法宣言がこれを使用する解析対象外エンティティの前に報告されるかどうかは保証されていません。

        パラメータ:
        name - 表記法名。
        publicId - 表記法の公開識別子。指定されなかった場合はnull。
        systemId - 表記法のシステム識別子。指定されなかった場合はnull。
        例外:
        SAXException - 任意のSAX例外。ほかの例外をラップしている可能性があります。
        関連項目:
        unparsedEntityDecl(java.lang.String, java.lang.String, java.lang.String, java.lang.String), Attributes
      • unparsedEntityDecl

        void unparsedEntityDecl​(String name,
                                String publicId,
                                String systemId,
                                String notationName)
                         throws SAXException
        解析対象外エンティティ宣言イベントの通知を受け取ります。

        表記法名は、notationDeclイベントによって報告される表記法に一致しています。 後で参照できるようにエンティティを記録するアプリケーションと、記録しないアプリケーションがあります。解析対象外のエンティティは属性値として表示されることがあります。

        システム識別子がURLの場合、パーサーはこれをアプリケーションに渡す前に完全に解決する必要があります。

        パラメータ:
        name - 解析対象外エンティティの名前。
        publicId - エンティティの公開識別子。指定されなかった場合はnull。
        systemId - エンティティのシステム識別子。
        notationName - 関連表記法名。
        例外:
        SAXException - 任意のSAX例外。ほかの例外をラップしている可能性があります。
        関連項目:
        notationDecl(java.lang.String, java.lang.String, java.lang.String), Attributes