模块  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分发的一部分。

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

    如果您将声明处理程序与词法处理程序一起使用,则所有事件都将发生在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”)的字符串,如果这些都不适用,则为null。
        value - 表示属性的默认值的字符串,如果没有,则为null。
        异常
        SAXException - 该应用程序可能引发异常。