模块 java.xml

接口 DeclHandler

所有已知的实现类:
DefaultHandler2

public interface DeclHandler
DTD 声明事件的 SAX2 扩展处理程序。

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

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

如果您将声明处理程序与词法处理程序一起使用,则所有事件都将发生在 startDTD endDTD 事件之间。

要为 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 - 应用程序可能会引发异常。
    • internalEntityDecl

      void internalEntityDecl(String  name, String  value) throws SAXException
      报告内部实体声明。

      仅报告每个实体的有效(第一个)声明。值中的所有参数实体都会展开,但一般实体不会。

      参数:
      name - 实体的名称。如果它是参数实体,名称将以“%”开头。
      value - 实体的替换文本。
      抛出:
      SAXException - 应用程序可能会引发异常。
      参见:
    • externalEntityDecl

      void externalEntityDecl(String  name, String  publicId, String  systemId) throws SAXException
      报告已解析的外部实体声明。

      仅报告每个实体的有效(第一个)声明。

      如果系统标识符是一个 URL,解析器必须在将它传递给应用程序之前完全解析它。

      参数:
      name - 实体的名称。如果它是参数实体,名称将以“%”开头。
      publicId - 实体的公共标识符,如果没有给出则为 null。
      systemId - 实体的系统标识符。
      抛出:
      SAXException - 应用程序可能会引发异常。
      参见: