DocumentHandler
接口配合使用。
它已被SAX2 DefaultHandler
类替代。
public class HandlerBase extends Object implements EntityResolver, DTDHandler, DocumentHandler, 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.
该类实现了四个SAX1接口的默认行为:EntityResolver,DTDHandler,DocumentHandler和ErrorHandler。 现在已经过时了,但包含在SAX2中,以支持传统的SAX1应用程序。 SAX2应用程序应该使用DefaultHandler
类。
应用程序编写者可以在需要仅实现部分接口时扩展此类; 解析器作者可以实例化这个类,以便在应用程序没有提供自己的时候提供默认处理程序。
请注意,此类的使用是可选的。
EntityResolver
, DTDHandler
, DocumentHandler
, ErrorHandler
Constructor and Description |
---|
HandlerBase()
已弃用
|
Modifier and Type | Method and Description |
---|---|
void |
characters(char[] ch, int start, int length)
已弃用
接收元素内的字符数据通知。
|
void |
endDocument()
已弃用
接收文件结尾的通知。
|
void |
endElement(String name)
已弃用
接收元素结尾的通知。
|
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 |
startDocument()
已弃用
接收文件开头的通知。
|
void |
startElement(String name, AttributeList attributes)
已弃用
接收元素开始的通知。
|
void |
unparsedEntityDecl(String name, String publicId, String systemId, String notationName)
已弃用
收到未分类实体声明的通知。
|
void |
warning(SAXParseException e)
已弃用
接收解析器警告的通知。
|
public InputSource resolveEntity(String publicId, String systemId) throws SAXException
始终返回null,以便解析器将使用XML文档中提供的系统标识符。 此方法实现SAX默认行为:应用程序编写者可以在子类中覆盖它,以执行特殊翻译,如目录查找或URI重定向。
resolveEntity
在界面
EntityResolver
publicId
- 公共标识符,如果没有可用,则为null。
systemId
- XML文档中提供的系统标识符。
SAXException
- 任何SAX异常,可能包装另一个异常。
EntityResolver.resolveEntity(java.lang.String, java.lang.String)
public void notationDecl(String name, String publicId, String systemId)
默认情况下,什么也不做。 如果应用程序编写者希望跟踪文档中声明的符号,则可以在子类中覆盖此方法。
notationDecl
在界面
DTDHandler
name
- 符号名称。
publicId
- 符号公共标识符,如果不可用,则为null。
systemId
- 符号系统标识符。
DTDHandler.notationDecl(java.lang.String, java.lang.String, java.lang.String)
public void unparsedEntityDecl(String name, String publicId, String systemId, String notationName)
默认情况下,什么也不做。 应用程序编写者可以在子类中覆盖此方法,以跟踪在文档中声明的未解析的实体。
unparsedEntityDecl
在界面
DTDHandler
name
- 实体名称。
publicId
- 实体公共标识符,如果不可用,则为null。
systemId
- 实体系统标识符。
notationName
- 关联符号的名称。
DTDHandler.unparsedEntityDecl(java.lang.String, java.lang.String, java.lang.String, java.lang.String)
public void setDocumentLocator(Locator locator)
默认情况下,什么也不做。 如果应用程序编写者希望存储与其他文档事件一起使用的定位器,则可以在子类中覆盖此方法。
setDocumentLocator
在界面
DocumentHandler
locator
- 所有SAX文档事件的定位器。
DocumentHandler.setDocumentLocator(org.xml.sax.Locator)
, Locator
public void startDocument() throws SAXException
默认情况下,什么也不做。 应用程序编写者可以在子类中覆盖此方法,以在文档的开头执行特定操作(例如分配树的根节点或创建输出文件)。
startDocument
在界面
DocumentHandler
SAXException
- 任何SAX异常,可能包装另一个异常。
DocumentHandler.startDocument()
public void endDocument() throws SAXException
默认情况下,什么也不做。 应用程序编写者可以在子类中覆盖此方法,以在文档的末尾执行特定操作(例如,最终确定树或关闭输出文件)。
endDocument
在界面
DocumentHandler
SAXException
- 任何SAX异常,可能包含另一个异常。
DocumentHandler.endDocument()
public void startElement(String name, AttributeList attributes) throws SAXException
默认情况下,什么也不做。 应用程序编写者可以在子类中覆盖此方法,以在每个元素的开始处采取特定的操作(例如分配新的树节点或将输出写入文件)。
startElement
在接口
DocumentHandler
name
- 元素类型名称。
attributes
- 指定或默认的属性。
SAXException
- 任何SAX异常,可能包含另一个异常。
DocumentHandler.startElement(java.lang.String, org.xml.sax.AttributeList)
public void endElement(String name) throws SAXException
默认情况下,什么也不做。 应用程序编写者可以在子类中覆盖此方法,以在每个元素的末尾执行特定操作(例如,完成树节点或将输出写入文件)。
endElement
在接口
DocumentHandler
name
- 元素名称
SAXException
- 任何SAX异常,可能包装另一个异常。
DocumentHandler.endElement(java.lang.String)
public void characters(char[] ch, int start, int length) throws SAXException
默认情况下,什么也不做。 应用程序编写者可以覆盖此方法以对每个字符数据块采取特定操作(例如将数据添加到节点或缓冲区,或将其打印到文件中)。
characters
在界面
DocumentHandler
ch
- 字符。
start
- 字符数组中的起始位置。
length
- 从字符数组使用的字符数。
SAXException
- 任何SAX异常,可能包含另一个异常。
DocumentHandler.characters(char[], int, int)
public void ignorableWhitespace(char[] ch, int start, int length) throws SAXException
默认情况下,什么也不做。 应用程序编写者可以覆盖此方法以针对每个可忽略的空白块(例如将数据添加到节点或缓冲区,或将其打印到文件)采取特定的操作。
ignorableWhitespace
在界面
DocumentHandler
ch
- 空格字符。
start
- 字符数组中的起始位置。
length
- 从字符数组中使用的字符数。
SAXException
- 任何SAX异常,可能包装另一个异常。
DocumentHandler.ignorableWhitespace(char[], int, int)
public void processingInstruction(String target, String data) throws SAXException
默认情况下,什么也不做。 应用程序编写者可以在子类中覆盖此方法,以针对每个处理指令执行特定操作,例如设置状态变量或调用其他方法。
processingInstruction
在接口
DocumentHandler
target
- 处理指令目标。
data
- 处理指令数据,如果没有提供,则为null。
SAXException
- 任何SAX异常,可能包装另一个异常。
DocumentHandler.processingInstruction(java.lang.String, java.lang.String)
public void warning(SAXParseException e) throws SAXException
默认实现什么都不做。 应用程序编写者可以在子类中覆盖此方法,以对每个警告执行特定操作,例如将消息插入到日志文件中或将其打印到控制台。
warning
在界面
ErrorHandler
e
- 作为异常编码的警告信息。
SAXException
- 任何SAX异常,可能包装另一个异常。
ErrorHandler.warning(org.xml.sax.SAXParseException)
, SAXParseException
public void error(SAXParseException e) throws SAXException
默认实现什么都不做。 应用程序编写者可以在子类中覆盖此方法,以针对每个错误采取特定操作,例如将消息插入日志文件或将其打印到控制台。
error
在界面
ErrorHandler
e
- 警告信息编码为异常。
SAXException
- 任何SAX异常,可能包装另一个异常。
ErrorHandler.warning(org.xml.sax.SAXParseException)
, SAXParseException
public void fatalError(SAXParseException e) throws SAXException
默认实现会引发SAXParseException。 如果需要为每个致命错误(例如将所有错误收集到单个报告中)采取特定操作,则应用程序编写者可以在子类中覆盖此方法:在任何情况下,应用程序必须在调用此方法时停止所有常规处理,因为文档不再可靠,并且解析器可能不再报告解析事件。
fatalError
在界面
ErrorHandler
e
- 将错误信息编码为异常。
SAXException
- 任何SAX异常,可能包装另一个异常。
ErrorHandler.fatalError(org.xml.sax.SAXParseException)
, SAXParseException