-
- 所有已知实现类:
-
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接口报告。如果您使用声明处理程序和词法处理程序,则所有事件将发生在
startDTD和endDTD事件之间。要为XML读取器设置DeclHandler,请使用属性名称为
http://xml.org/sax/properties/declaration-handler的setProperty方法和实现此接口(或null)的对象作为值。 如果读者没有报告声明事件,当您尝试注册处理程序时,它将抛出一个SAXNotRecognizedException。- 从以下版本开始:
- 1.4,SAX 2.0(扩展1.0)
-
-
方法摘要
所有方法 接口方法 抽象方法 Modifier and Type 方法 描述 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”)的字符串,如果不适用,则为空。 -
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)
-
-