- java.lang.Object
-
- org.xml.sax.helpers.DefaultHandler
-
- 实现的所有接口
-
ContentHandler
,DTDHandler
,EntityResolver
,ErrorHandler
- 已知直接子类:
-
DefaultHandler2
public class DefaultHandlerextends Objectimplements EntityResolver, DTDHandler, ContentHandler, ErrorHandler
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应用程序的便捷基类:它为四个核心SAX2处理程序类中的所有回调提供了默认实现:
应用程序编写者可以在需要仅实现部分接口时扩展此类; 解析器编写器可以实例化此类,以便在应用程序未提供自己的类时提供默认处理程序。
此类替换已弃用的SAX1
HandlerBase
类。- 从以下版本开始:
- 1.4,SAX 2.0
- 另请参见:
-
EntityResolver
,DTDHandler
,ContentHandler
,ErrorHandler
-
-
构造方法摘要
构造方法 构造器 描述 DefaultHandler()
-
方法摘要
所有方法 实例方法 具体的方法 变量和类型 方法 描述 void
characters(char[] ch, int start, int length)
接收元素内的字符数据通知。void
endDocument()
接收文档结束的通知。void
endElement(String uri, String localName, String qName)
接收元素结束的通知。void
endPrefixMapping(String prefix)
接收命名空间映射结束的通知。void
error(SAXParseException e)
接收可恢复的解析器错误的通知。void
fatalError(SAXParseException e)
报告致命的XML解析错误。void
ignorableWhitespace(char[] ch, int start, int length)
接收元素内容中可忽略空白的通知。void
notationDecl(String name, String publicId, String systemId)
收到注释声明的通知。void
processingInstruction(String target, String data)
接收处理指令的通知。InputSource
resolveEntity(String publicId, String systemId)
解决外部实体。void
setDocumentLocator(Locator locator)
接收文档事件的Locator对象。void
skippedEntity(String name)
接收跳过的实体的通知。void
startDocument()
接收文档开头的通知。void
startElement(String uri, String localName, String qName, Attributes attributes)
接收元素开始的通知。void
startPrefixMapping(String prefix, String uri)
接收命名空间映射开始的通知。void
unparsedEntityDecl(String name, String publicId, String systemId, String notationName)
接收未解析的实体声明的通知。void
warning(SAXParseException e)
接收解析器警告的通知。
-
-
-
方法详细信息
-
resolveEntity
public InputSource resolveEntity(String publicId, String systemId) throws IOException, SAXException
解决外部实体。始终返回null,以便解析器将使用XML文档中提供的系统标识符。 此方法实现SAX默认行为:应用程序编写者可以在子类中覆盖它以执行特殊转换,例如目录查找或URI重定向。
- Specified by:
-
resolveEntity
接口EntityResolver
- 参数
-
publicId
- 公共标识符,如果没有,则为null。 -
systemId
- XML文档中提供的系统标识符。 - 结果
- 新的输入源,或null以要求默认行为。
- 异常
-
IOException
- 如果设置新输入源时出错。 -
SAXException
- 任何SAX异常,可能包含另一个异常。 - 另请参见:
-
EntityResolver.resolveEntity(java.lang.String, java.lang.String)
-
notationDecl
public void notationDecl(String name, String publicId, String systemId) throws SAXException
收到注释声明的通知。默认情况下,什么也不做。 如果应用程序编写者希望跟踪文档中声明的符号,则可以在子类中覆盖此方法。
- Specified by:
-
notationDecl
接口DTDHandler
- 参数
-
name
- 符号名称。 -
publicId
- 表示法公共标识符,如果不可用,则为null。 -
systemId
- 符号系统标识符。 - 异常
-
SAXException
- 任何SAX异常,可能包含另一个异常。 - 另请参见:
-
DTDHandler.notationDecl(java.lang.String, java.lang.String, java.lang.String)
-
unparsedEntityDecl
public void unparsedEntityDecl(String name, String publicId, String systemId, String notationName) throws SAXException
接收未解析的实体声明的通知。默认情况下,什么也不做。 应用程序编写者可以在子类中重写此方法,以跟踪文档中声明的未解析实体。
- Specified by:
-
unparsedEntityDecl
接口DTDHandler
- 参数
-
name
- 实体名称。 -
publicId
- 实体公共标识符,如果不可用,则为null。 -
systemId
- 实体系统标识符。 -
notationName
- 相关表示法的名称。 - 异常
-
SAXException
- 任何SAX异常,可能包含另一个异常。 - 另请参见:
-
DTDHandler.unparsedEntityDecl(java.lang.String, java.lang.String, java.lang.String, java.lang.String)
-
setDocumentLocator
public void setDocumentLocator(Locator locator)
接收文档事件的Locator对象。默认情况下,什么也不做。 如果应用程序编写者希望存储定位器以供其他文档事件使用,则可以在子类中重写此方法。
- Specified by:
-
setDocumentLocator
在界面ContentHandler
- 参数
-
locator
- 所有SAX文档事件的定位器。 - 另请参见:
-
ContentHandler.setDocumentLocator(org.xml.sax.Locator)
,Locator
-
startDocument
public void startDocument() throws SAXException
接收文档开头的通知。默认情况下,什么也不做。 应用程序编写者可以在子类中重写此方法,以在文档的开头采取特定操作(例如,分配树的根节点或创建输出文件)。
- Specified by:
-
startDocument
接口ContentHandler
- 异常
-
SAXException
- 任何SAX异常,可能包含另一个异常。 - 另请参见:
-
ContentHandler.startDocument()
-
endDocument
public void endDocument() throws SAXException
接收文档结束的通知。默认情况下,什么也不做。 应用程序编写者可以在子类中重写此方法,以在文档末尾执行特定操作(例如,完成树或关闭输出文件)。
- Specified by:
-
endDocument
接口ContentHandler
- 异常
-
SAXException
- 任何SAX异常,可能包含另一个异常。 - 另请参见:
-
ContentHandler.endDocument()
-
startPrefixMapping
public void startPrefixMapping(String prefix, String uri) throws SAXException
接收命名空间映射开始的通知。默认情况下,什么也不做。 应用程序编写者可以在子类中重写此方法,以在每个Namespace前缀范围的开头采取特定操作(例如存储前缀映射)。
- Specified by:
-
startPrefixMapping
接口ContentHandler
- 参数
-
prefix
- 声明的名称空间前缀。 -
uri
- 映射到前缀的名称空间URI。 - 异常
-
SAXException
- 任何SAX异常,可能包含另一个异常。 - 另请参见:
-
ContentHandler.startPrefixMapping(java.lang.String, java.lang.String)
-
endPrefixMapping
public void endPrefixMapping(String prefix) throws SAXException
接收命名空间映射结束的通知。默认情况下,什么也不做。 应用程序编写者可以在子类中重写此方法,以在每个前缀映射的末尾执行特定操作。
- Specified by:
-
endPrefixMapping
接口ContentHandler
- 参数
-
prefix
- 声明的名称空间前缀。 - 异常
-
SAXException
- 任何SAX异常,可能包含另一个异常。 - 另请参见:
-
ContentHandler.endPrefixMapping(java.lang.String)
-
startElement
public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException
接收元素开始的通知。默认情况下,什么也不做。 应用程序编写者可以在子类中重写此方法,以在每个元素的开头采取特定操作(例如,分配新的树节点或将输出写入文件)。
- Specified by:
-
startElement
接口ContentHandler
- 参数
-
uri
- 名称空间URI,如果元素没有名称空间URI或者未执行名称空间处理,则为空字符串。 -
localName
- 本地名称(不带前缀),如果未执行命名空间处理,则为空字符串。 -
qName
- 限定名称(带前缀),如果限定名称不可用,则为空字符串。 -
attributes
- 附加到元素的属性。 如果没有属性,则它应为空的Attributes对象。 - 异常
-
SAXException
- 任何SAX异常,可能包含另一个异常。 - 另请参见:
-
ContentHandler.startElement(java.lang.String, java.lang.String, java.lang.String, org.xml.sax.Attributes)
-
endElement
public void endElement(String uri, String localName, String qName) throws SAXException
接收元素结束的通知。默认情况下,什么也不做。 应用程序编写者可以在子类中重写此方法,以在每个元素的末尾执行特定操作(例如,最终确定树节点或将输出写入文件)。
- Specified by:
-
endElement
接口ContentHandler
- 参数
-
uri
- 名称空间URI,如果元素没有名称空间URI或者未执行名称空间处理,则为空字符串。 -
localName
- 本地名称(不带前缀),如果未执行命名空间处理,则为空字符串。 -
qName
- 限定名称(带前缀),如果限定名称不可用,则为空字符串。 - 异常
-
SAXException
- 任何SAX异常,可能包含另一个异常。 - 另请参见:
-
ContentHandler.endElement(java.lang.String, java.lang.String, java.lang.String)
-
characters
public void characters(char[] ch, int start, int length) throws SAXException
接收元素内的字符数据通知。默认情况下,什么也不做。 应用程序编写者可以覆盖此方法,以对每个字符数据块执行特定操作(例如将数据添加到节点或缓冲区,或将其打印到文件中)。
- Specified by:
-
characters
接口ContentHandler
- 参数
-
ch
- 人物。 -
start
- 字符数组中的起始位置。 -
length
- 字符数组中使用的字符数。 - 异常
-
SAXException
- 任何SAX异常,可能包含另一个异常。 - 另请参见:
-
ContentHandler.characters(char[], int, int)
-
ignorableWhitespace
public void ignorableWhitespace(char[] ch, int start, int length) throws SAXException
接收元素内容中可忽略空白的通知。默认情况下,什么也不做。 应用程序编写者可以重写此方法,以便为每个可忽略的空白块采取特定操作(例如将数据添加到节点或缓冲区,或将其打印到文件中)。
- Specified by:
-
ignorableWhitespace
在界面ContentHandler
- 参数
-
ch
- 空格字符。 -
start
- 字符数组中的起始位置。 -
length
- 字符数组中要使用的字符数。 - 异常
-
SAXException
- 任何SAX异常,可能包含另一个异常。 - 另请参见:
-
ContentHandler.ignorableWhitespace(char[], int, int)
-
processingInstruction
public void processingInstruction(String target, String data) throws SAXException
接收处理指令的通知。默认情况下,什么也不做。 应用程序编写者可以在子类中重写此方法,以对每个处理指令采取特定操作,例如设置状态变量或调用其他方法。
- Specified by:
-
processingInstruction
在界面ContentHandler
- 参数
-
target
- 处理指令目标。 -
data
- 处理指令数据,如果未提供,则为null。 - 异常
-
SAXException
- 任何SAX异常,可能包含另一个异常。 - 另请参见:
-
ContentHandler.processingInstruction(java.lang.String, java.lang.String)
-
skippedEntity
public void skippedEntity(String name) throws SAXException
接收跳过的实体的通知。默认情况下,什么也不做。 应用程序编写者可以在子类中重写此方法,以对每个处理指令采取特定操作,例如设置状态变量或调用其他方法。
- Specified by:
-
skippedEntity
接口ContentHandler
- 参数
-
name
- 跳过的实体的名称。 - 异常
-
SAXException
- 任何SAX异常,可能包含另一个异常。 - 另请参见:
-
ContentHandler.processingInstruction(java.lang.String, java.lang.String)
-
warning
public void warning(SAXParseException e) throws SAXException
接收解析器警告的通知。默认实现什么都不做。 应用程序编写者可以在子类中重写此方法,以针对每个警告采取特定操作,例如将消息插入日志文件或将其打印到控制台。
- Specified by:
-
warning
接口ErrorHandler
- 参数
-
e
- 编码为异常的警告信息。 - 异常
-
SAXException
- 任何SAX异常,可能包含另一个异常。 - 另请参见:
-
ErrorHandler.warning(org.xml.sax.SAXParseException)
,SAXParseException
-
error
public void error(SAXParseException e) throws SAXException
接收可恢复的解析器错误的通知。默认实现什么都不做。 应用程序编写者可以在子类中重写此方法,以针对每个错误采取特定操作,例如将消息插入日志文件或将其打印到控制台。
- Specified by:
-
error
接口ErrorHandler
- 参数
-
e
- 编码为异常的错误信息。 - 异常
-
SAXException
- 任何SAX异常,可能包含另一个异常。 - 另请参见:
-
ErrorHandler.warning(org.xml.sax.SAXParseException)
,SAXParseException
-
fatalError
public void fatalError(SAXParseException e) throws SAXException
报告致命的XML解析错误。默认实现抛出SAXParseException。 如果需要针对每个致命错误采取特定操作(例如将所有错误收集到单个报告中),应用程序编写者可以在子类中覆盖此方法:在任何情况下,应用程序必须在调用此方法时停止所有常规处理,因为文档不再可靠,并且解析器可能不再报告解析事件。
- Specified by:
-
fatalError
接口ErrorHandler
- 参数
-
e
- 编码为异常的错误信息。 - 异常
-
SAXException
- 任何SAX异常,可能包含另一个异常。 - 另请参见:
-
ErrorHandler.fatalError(org.xml.sax.SAXParseException)
,SAXParseException
-
-