public class DefaultHandler extends Object implements EntityResolver, DTDHandler, ContentHandler, ErrorHandler
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类。
EntityResolver,
DTDHandler,
ContentHandler,
ErrorHandler
| Constructor and Description |
|---|
DefaultHandler() |
| Modifier and Type | Method and Description |
|---|---|
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)
接收文档事件的定位对象。
|
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)
接收语法分析器警告的通知。
|
public InputSource resolveEntity(String publicId, String systemId) throws IOException, SAXException
总是返回null,以便解析器将使用在XML文档中提供的系统标识符。此方法实现SAX应用默认的行为:作家可以重写它的子类来做特殊的翻译如目录查找或URI重定向。
resolveEntity 接口
EntityResolver
publicId -公共标识符,或null,如果没有可用的。
systemId - XML文档中提供的标识系统。
IOException -如果有错误设置新的输入源。
SAXException -萨克斯例外,可能是包装的另一个例外。
EntityResolver.resolveEntity(java.lang.String, java.lang.String)
public void notationDecl(String name, String publicId, String systemId) throws SAXException
默认情况下,什么都不做。应用程序编写者可以在子类中重写此方法,如果他们希望记录在文档中声明的符号。
notationDecl 接口
DTDHandler
name -符号名称。
publicId -符号的公共标识符,或空如果不可用。
systemId -符号系统标识符。
SAXException -萨克斯例外,可能是包装的另一个例外。
DTDHandler.notationDecl(java.lang.String, java.lang.String, java.lang.String)
public void unparsedEntityDecl(String name, String publicId, String systemId, String notationName) throws SAXException
默认情况下,什么都不做。应用作者可以在子类中记录的未分析实体重写此方法在一个文件中声明。
unparsedEntityDecl 接口
DTDHandler
name -实体名称。
publicId公共标识符的实体,或空如果不可用。
systemId -实体系统标识符。
notationName -相关的符号名称。
SAXException -萨克斯例外,可能是包装的另一个例外。
DTDHandler.unparsedEntityDecl(java.lang.String, java.lang.String, java.lang.String, java.lang.String)
public void setDocumentLocator(Locator locator)
默认情况下,什么都不做。应用程序编写者可以在子类中重写此方法,如果他们希望存储与其他文档事件一起使用的定位器。
setDocumentLocator 接口
ContentHandler
locator -所有SAX文档事件定位。
ContentHandler.setDocumentLocator(org.xml.sax.Locator),
Locator
public void startDocument()
throws SAXException
默认情况下,什么都不做。应用程序编写者可以在子类中重写此方法,以在文档开始时采取特定的操作(如分配树的根节点或创建输出文件)。
startDocument 接口
ContentHandler
SAXException -萨克斯例外,可能是包装的另一个例外。
ContentHandler.startDocument()
public void endDocument()
throws SAXException
默认情况下,什么都不做。应用作家可能在子类在文件最后采取具体行动,重写此方法(如完成一棵树或关闭输出文件)。
endDocument 接口
ContentHandler
SAXException -萨克斯例外,可能是包装的另一个例外。
ContentHandler.endDocument()
public void startPrefixMapping(String prefix, String uri) throws SAXException
默认情况下,什么都不做。应用程序编写者可以在子类中重写此方法,在每个命名空间前缀范围(如存储前缀映射)的开始时采取特定的操作。
startPrefixMapping 接口
ContentHandler
prefix -命名空间前缀的声明。
uri的命名空间URI映射到前缀。
SAXException -萨克斯例外,可能是包装的另一个例外。
ContentHandler.startPrefixMapping(java.lang.String, java.lang.String)
public void endPrefixMapping(String prefix) throws SAXException
默认情况下,什么都不做。应用程序编写者可以在子类中重写此方法,以在每个前缀映射的结尾采取特定的操作。
endPrefixMapping 接口
ContentHandler
prefix -命名空间前缀的声明。
SAXException -萨克斯例外,可能是包装的另一个例外。
ContentHandler.endPrefixMapping(java.lang.String)
public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException
默认情况下,什么都不做。应用程序编写者可以在子类中重写此方法,在每个元素的开始处采取特定的动作(例如,分配一个新的树节点或将输出写入到文件)。
startElement 接口
ContentHandler
uri的命名空间URI或空字符串,如果元素没有命名空间URI命名空间或如果不进行处理。
localName的本地名称(无前缀),或空字符串,如果命名空间处理不执行。
qName的限定名称(前缀),或空字符串,如果名称不可用。
attributes的属性附加到元素。如果没有属性,则将是一个空的属性对象。
SAXException -萨克斯例外,可能是包装的另一个例外。
ContentHandler.startElement(java.lang.String, java.lang.String, java.lang.String, org.xml.sax.Attributes)
public void endElement(String uri, String localName, String qName) throws SAXException
默认情况下,什么都不做。应用作家可能在子类中的每个元素在年底采取具体行动,重写此方法(如完成一个树节点或写作输出到文件)。
endElement 接口
ContentHandler
uri的命名空间URI或空字符串,如果元素没有命名空间URI命名空间或如果不进行处理。
localName的本地名称(无前缀),或空字符串,如果命名空间处理不执行。
qName的限定名称(前缀),或空字符串,如果名称不可用。
SAXException -萨克斯例外,可能是包装的另一个例外。
ContentHandler.endElement(java.lang.String, java.lang.String, java.lang.String)
public void characters(char[] ch,
int start,
int length)
throws SAXException
默认情况下,什么都不做。应用程序编写者可以重写此方法以对每个字符数据(如将数据添加到一个节点或缓冲区中,或将其打印到文件)采取特定的操作。
characters 接口
ContentHandler
ch -特点。
start -字符数组中的起始位置。
length -使用字符数组的字符数。
SAXException -萨克斯例外,可能是包装的另一个例外。
ContentHandler.characters(char[], int, int)
public void ignorableWhitespace(char[] ch,
int start,
int length)
throws SAXException
默认情况下,什么都不做。应用作家可以重写此方法以每一块可忽略空白采取具体行动(如添加数据节点或缓冲,或打印到文件)。
ignorableWhitespace 接口
ContentHandler
ch的空白字符。
start -字符数组中的起始位置。
length -字符数使用字符数组。
SAXException -萨克斯例外,可能是包装的另一个例外。
ContentHandler.ignorableWhitespace(char[], int, int)
public void processingInstruction(String target, String data) throws SAXException
默认情况下,什么都不做。应用程序编写者可以在子类中重写此方法,以对每个处理指令采取特定的操作,如设置状态变量或调用其他方法。
processingInstruction 接口
ContentHandler
target -处理指令的目标。
data -处理指令数据,或null,如果没有提供。
SAXException -萨克斯例外,可能是包装的另一个例外。
ContentHandler.processingInstruction(java.lang.String, java.lang.String)
public void skippedEntity(String name) throws SAXException
默认情况下,什么都不做。应用程序编写者可以在子类中重写此方法,以对每个处理指令采取特定的操作,如设置状态变量或调用其他方法。
skippedEntity 接口
ContentHandler
name -跳过的实体的名称。
SAXException -萨克斯例外,可能是包装的另一个例外。
ContentHandler.processingInstruction(java.lang.String, java.lang.String)
public void warning(SAXParseException e) throws SAXException
默认实现不做任何事。应用程序编写者可以在子类中重写此方法,以对每个警告采取特定的操作,例如将消息插入到日志文件中或将其打印到控制台上。
warning 接口
ErrorHandler
e编码为例外的警告信息。
SAXException -萨克斯例外,可能是包装的另一个例外。
ErrorHandler.warning(org.xml.sax.SAXParseException),
SAXParseException
public void error(SAXParseException e) throws SAXException
默认实现不做任何事。应用程序编写者可以在子类中重写此方法,以对每个错误采取特定的操作,例如将消息插入到日志文件中或将其打印到控制台上。
error 接口
ErrorHandler
e编码作为一种异常的错误信息。
SAXException -萨克斯例外,可能是包装的另一个例外。
ErrorHandler.warning(org.xml.sax.SAXParseException),
SAXParseException
public void fatalError(SAXParseException e) throws SAXException
默认实现抛出一个saxparseexception。应用程序编写者可以在子类中重写此方法,如果他们需要为每个致命错误采取特定的操作(例如将所有的错误收集到一个报告):在任何情况下,应用程序必须停止所有的常规处理,当这种方法被调用,因为文档不再可靠,和解析器可能不再报告分析事件。
fatalError 接口
ErrorHandler
e编码作为一种异常的错误信息。
SAXException -萨克斯例外,可能是包装的另一个例外。
ErrorHandler.fatalError(org.xml.sax.SAXParseException),
SAXParseException
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.