模块  java.xml
软件包  org.xml.sax

Interface DTDHandler

  • All Known Subinterfaces:
    TransformerHandler
    所有已知实现类:
    DefaultHandlerDefaultHandler2HandlerBaseXMLFilterImpl

    public interface DTDHandler
    接收基本DTD相关事件的通知。
    This module, both source code and documentation, is in the Public Domain, and comes with NO WARRANTY. See http://www.saxproject.org for further information.

    如果SAX应用程序需要有关符号和未解析实体的信息,则应用程序将使用解析器的setDTDHandler方法实现此接口并使用SAX解析器注册实例。 解析器使用实例向应用程序报告符号和未解析的实体声明。

    请注意,此接口仅包含XML建议要求处理器报告的DTD事件:符号和未解析的实体声明。

    无论声明符号和未解析实体的声明顺序如何,SAX解析器都可以按任何顺序报告这些事件; 但是,必须在文档处理程序的startDocument事件之后以及第一个startElement事件之前报告所有DTD事件。 (如果使用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
        接收符号声明事件的通知。

        如有必要,由应用程序记录该符号以供以后参考; 符号可以显示为属性值和未解析的实体声明,并且有时与处理指令目标名称一起使用。

        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