public interface DeclHandler
org.xml.sax.ext.DeclHandler |
Known Indirect Subclasses |
用于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
。
Public methods |
|
---|---|
abstract void |
attributeDecl(String eName, String aName, String type, String mode, String value) 报告属性类型声明。 |
abstract void |
elementDecl(String name, String model) 报告元素类型声明。 |
abstract void |
externalEntityDecl(String name, String publicId, String systemId) 报告解析的外部实体声明。 |
abstract void |
internalEntityDecl(String name, String value) 报告内部实体声明。 |
void attributeDecl (String eName, String aName, String type, String mode, String value)
报告属性类型声明。
只有属性的有效(第一次)声明才会被报告。 该类型将是字符串“CDATA”,“ID”,“IDREF”,“IDREFS”,“NMTOKEN”,“NMTOKENS”,“ENTITY”,“ENTITIES”,带分隔符“|”的括号标记组之一。 并删除所有空格或单词“NOTATION”后面跟着一个空格,后面跟着一个删除了所有空格的带括号的标记组。
该值将作为报告给应用程序的值,适当标准化并扩展实体和字符引用。
Parameters | |
---|---|
eName |
String : The name of the associated element. |
aName |
String : The name of the attribute. |
type |
String : A string representing the attribute type. |
mode |
String : A string representing the attribute defaulting mode ("#IMPLIED", "#REQUIRED", or "#FIXED") or null if none of these applies. |
value |
String : A string representing the attribute's default value, or null if there is none. |
Throws | |
---|---|
SAXException |
The application may raise an exception. |
void elementDecl (String name, String model)
报告元素类型声明。
内容模型将包含字符串“EMPTY”,字符串“ANY”或括号组,可选地后跟一个事件指示符。 该模型将被标准化,以便所有参数实体完全解析并删除所有空白,并包含括号。 其他规范化(如去除多余的括号或简化事件指示符)由解析器自行决定。
Parameters | |
---|---|
name |
String : The element type name. |
model |
String : The content model as a normalized string. |
Throws | |
---|---|
SAXException |
The application may raise an exception. |
void externalEntityDecl (String name, String publicId, String systemId)
报告解析的外部实体声明。
只报告每个实体的有效(第一)声明。
如果系统标识符是URL,则解析器必须在将其传递给应用程序之前将其完全解析。
Parameters | |
---|---|
name |
String : The name of the entity. If it is a parameter entity, the name will begin with '%'. |
publicId |
String : The entity's public identifier, or null if none was given. |
systemId |
String : The entity's system identifier. |
Throws | |
---|---|
SAXException |
The application may raise an exception. |
void internalEntityDecl (String name, String value)
报告内部实体声明。
只报告每个实体的有效(第一)声明。 值中的所有参数实体将被展开,但一般实体不会。
Parameters | |
---|---|
name |
String : The name of the entity. If it is a parameter entity, the name will begin with '%'. |
value |
String : The replacement text of the entity. |
Throws | |
---|---|
SAXException |
The application may raise an exception. |