-
- 所有已知实现类:
-
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声明(未解析的实体和表示法)。如果您将声明处理程序与词法处理程序一起使用,则所有事件都将发生在
startDTD和endDTD事件之间。要为XML阅读器设置DeclHandler,请使用属性名称为
http://xml.org/sax/properties/declaration-handler的setProperty方法和实现此接口的对象(或null)作为值。 如果读者未报告声明事件,则在尝试注册处理程序时将抛出SAXNotRecognizedException。- 从以下版本开始:
- 1.4,SAX 2.0(扩展1.0)
-
-
方法摘要
所有方法 实例方法 抽象方法 变量和类型 方法 描述 voidattributeDecl(String eName, String aName, String type, String mode, String value)报告属性类型声明。voidelementDecl(String name, String model)报告元素类型声明。voidexternalEntityDecl(String name, String publicId, String systemId)报告已解析的外部实体声明。voidinternalEntityDecl(String name, String value)报告内部实体声明。
-
-
-
方法详细信息
-
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(java.lang.String, java.lang.String, java.lang.String),DTDHandler.unparsedEntityDecl(java.lang.String, java.lang.String, java.lang.String, java.lang.String)
-
externalEntityDecl
void externalEntityDecl(String name, String publicId, String systemId) throws SAXException
报告已解析的外部实体声明。只报告每个实体的有效(第一)声明。
如果系统标识符是URL,则解析器必须先将其完全解析,然后再将其传递给应用程序。
- 参数
-
name- 实体的名称。 如果它是参数实体,则名称将以'%'开头。 -
publicId- 实体的公共标识符,如果没有给出,则为null。 -
systemId- 实体的系统标识符。 - 异常
-
SAXException- 该应用程序可能引发异常。 - 另请参见:
-
internalEntityDecl(java.lang.String, java.lang.String),DTDHandler.unparsedEntityDecl(java.lang.String, java.lang.String, java.lang.String, java.lang.String)
-
-