Module  java.xml
软件包  org.xml.sax.ext

Interface DeclHandler

  • 所有已知实现类:
    DefaultHandler2


    public interface DeclHandler
    用于DTD声明事件的SAX2扩展处理程序。
    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.

    这是SAX2的可选扩展处理程序,可以在XML文档中提供有关DTD声明的更完整的信息。 XML读取器不需要识别此处理程序,它不是仅核心的SAX2发行版的一部分。

    请注意,数据相关的DTD声明(未解析的实体和符号)已通过DTDHandler接口报告。

    如果您使用声明处理程序和词法处理程序,则所有事件将发生在startDTDendDTD事件之间。

    要为XML读取器设置DeclHandler,请使用属性名称为http://xml.org/sax/properties/declaration-handlersetProperty方法和实现此接口(或null)的对象作为值。 如果读者没有报告声明事件,当您尝试注册处理程序时,它将抛出一个SAXNotRecognizedException

    从以下版本开始:
    1.4,SAX 2.0(扩展1.0)
    • 方法详细信息

      • elementDecl

        void elementDecl​(String name,
                         String model)
                  throws SAXException
        报告元素类型声明。

        内容模型将由字符串“EMPTY”,字符串“ANY”或括号组组成,可选地后跟出现指示符。 模型将被归一化,以便所有参数实体完全解析,并且所有空格都被删除,并且将包括括号。 其他规范化(如删除冗余括号或简化事件指标)由解析器自行决定。

        参数
        name - 元素类型名称。
        model - 内容模型为标准化字符串。
        异常
        SAXException - 应用程序可能会引发异常。
      • attributeDecl

        void attributeDecl​(String eName,
                           String aName,
                           String type,
                           String mode,
                           String value)
                    throws SAXException
        报告属性类型声明。

        只会报告属性的有效(第一)声明。 该类型将是字符串“CDATA”,“ID”,“IDREF”,“IDREFS”,“NMTOKEN”,“NMTOKENS”,“ENTITY”,“ENTITIES”,带有分隔符“|”的括号符号组 并删除所有空格,或者单词“NOTATION”后跟一个空格,后跟一个带有所有空格的括号符号组。

        该值将是应用程序报告的值,适当地规范化,扩展了实体和字符引用。

        参数
        eName - 关联元素的名称。
        aName - 属性的名称。
        type - 表示属性类型的字符串。
        mode - 表示属性默认模式(“#IMPLIED”,“#REQUIRED”或“#FIXED”)的字符串,如果不适用,则为空。
        value - 表示属性默认值的字符串,如果没有,则返回null。
        异常
        SAXException - 应用程序可能会引发异常。