java.lang.Object org.xml.sax.HandlerBase
DocumentHandler
接口一起工作。它已经被 SAX2 DefaultHandler
类所取代。
public class HandlerBase
处理程序的默认基类。
此模块(包括源代码和文档)在公共域中,同时 没有担保。有关更多信息,请参阅 http://www.saxproject.org。
此类可实现以下四个 SAX1 接口的默认行为:EntityResolver、DTDHandler、DocumentHandler 和 ErrorHandler。此类现已过时,但它包括在 SAX2 中用来支持遗留的 SAX1 应用程序。而 SAX2 应用程序应该使用 DefaultHandler
类。
应用程序编写者可以在他们仅需实现部分接口时扩展此类;当应用程序尚未提供其自己的处理程序时解析器编写者可通过实例化此类来提供默认的处理程序。
注意,使用此类是可选的。
EntityResolver
,
DTDHandler
,
DocumentHandler
,
ErrorHandler
构造方法摘要 | |
---|---|
HandlerBase() 已过时。 |
方法摘要 | |
---|---|
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) 已过时。 接收解析器警告的通知。 |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
构造方法详细信息 |
---|
public HandlerBase()
方法详细信息 |
---|
public InputSource resolveEntity(String publicId, String systemId) throws SAXException
将始终返回 null,因此解析器将使用 XML 文档中提供的系统标识符。此方法实现 SAX 默认的行为:应用程序编写者可以在子类中重写它以便进行诸如目录查找或 URI 重定向之类的特定转换。
EntityResolver
中的
resolveEntity
publicId
- 公共标识符,如果没有可用的则为 null。
systemId
- XML 文档中提供的系统标识符。
SAXException
- 任何 SAX 异常,可能包装另外的异常。
EntityResolver.resolveEntity(java.lang.String, java.lang.String)
public void notationDecl(String name, String publicId, String systemId)
默认为不执行任何操作。如果应用程序编写者希望跟踪在文档中声明的注释,则可以在子类中重写此方法。
DTDHandler
中的
notationDecl
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)
默认为不执行任何操作。应用程序编写者可以在子类中重写此方法,以便跟踪在文档中声明的未解析实体。
DTDHandler
中的
unparsedEntityDecl
name
- 实体名称。
publicId
- 实体公共标识符,如果不可用则为 null。
systemId
- 实体系统标识符。
notationName
- 相关注释的名称。
DTDHandler.unparsedEntityDecl(java.lang.String, java.lang.String, java.lang.String, java.lang.String)
public void setDocumentLocator(Locator locator)
默认为不执行任何操作。如果应用程序编写者希望存储定位器以用于其他的文档事件,则可以在子类中重写此方法。
DocumentHandler
中的
setDocumentLocator
locator
- 用于所有 SAX 文档事件的定位器。
DocumentHandler.setDocumentLocator(org.xml.sax.Locator)
,
Locator
public void startDocument() throws SAXException
默认为不执行任何操作。应用程序编写者可以在子类中重写此方法,以便在文档的开始采取特定的措施(如分配树的根节点或创建输出文件)。
DocumentHandler
中的
startDocument
SAXException
- 任何 SAX 异常,可能包装另外的异常。
DocumentHandler.startDocument()
public void endDocument() throws SAXException
默认为不执行任何操作。应用程序编写者可以在子类中重写此方法,以便在文档结束时采取特定的措施(如结束树或关闭输出文件)。
DocumentHandler
中的
endDocument
SAXException
- 任何 SAX 异常,可能包装另外的异常。
DocumentHandler.endDocument()
public void startElement(String name, AttributeList attributes) throws SAXException
默认为不执行任何操作。应用程序编写者可以在子类中重写此方法,以便在每个元素开始时采取特定的措施(如向文件分配新的树节点或把输出写入到文件)。
DocumentHandler
中的
startElement
name
- 元素类型名称。
attributes
- 指定的或默认的属性。
SAXException
- 任何 SAX 异常,可能包装另外的异常。
DocumentHandler.startElement(java.lang.String, org.xml.sax.AttributeList)
public void endElement(String name) throws SAXException
默认为不执行任何操作。应用程序编写者可以在子类中重写此方法,以便在每个元素结束时采取特定的措施(如结束树节点或将输出写入到文件中)。
DocumentHandler
中的
endElement
name
- 元素名称
SAXException
- 任何 SAX 异常,可能包装另外的异常。
DocumentHandler.endElement(java.lang.String)
public void characters(char[] ch, int start, int length) throws SAXException
默认为不执行任何操作。应用程序编写者可以重写此方法,以便对每块字符数据采取特定的措施(如将该数据添加到节点或缓冲区,或者将该数据打印到文件)。
DocumentHandler
中的
characters
ch
- 字符。
start
- 在字符数组中的起始位置。
length
- 从字符数组使用的字符个数。
SAXException
- 任何 SAX 异常,可能包装另外的异常。
DocumentHandler.characters(char[], int, int)
public void ignorableWhitespace(char[] ch, int start, int length) throws SAXException
默认为不执行任何操作。应用程序编写者可以重写此方法,以便对每块可忽略的空白采取特定的措施(如将数据添加到节点或缓冲区,或者将数据打印到文件)。
DocumentHandler
中的
ignorableWhitespace
ch
- 空白字符。
start
- 在字符数组中的起始位置。
length
- 从字符数组使用的字符个数。
SAXException
- 任何 SAX 异常,可能包装另外的异常。
DocumentHandler.ignorableWhitespace(char[], int, int)
public void processingInstruction(String target, String data) throws SAXException
默认为不执行任何操作。应用程序编写者可以在子类中重写此方法,以便对每个处理指令采取特定的措施,如设置状态变量或调用其他的方法。
DocumentHandler
中的
processingInstruction
target
- 处理指令目标。
data
- 处理指令数据,如果未提供则为 null。
SAXException
- 任何 SAX 异常,可能包装另外的异常。
DocumentHandler.processingInstruction(java.lang.String, java.lang.String)
public void warning(SAXParseException e) throws SAXException
默认实现不执行任何操作。应用程序编写者可以在子类中重写此方法,以便对每个警告采取特定的措施,如在日志文件中插入消息,或者将它打印到控制台。
ErrorHandler
中的
warning
e
- 编码为异常的警告信息。
SAXException
- 任何 SAX 异常,可能包装另外的异常。
ErrorHandler.warning(org.xml.sax.SAXParseException)
,
SAXParseException
public void error(SAXParseException e) throws SAXException
默认实现不执行任何操作。应用程序编写者可以在子类中重写此方法,以便对每个错误采取特定的措施,如在日志文件中插入消息,或者将它打印到控制台。
ErrorHandler
中的
error
e
- 编码为异常的警告信息。
SAXException
- 任何 SAX 异常,可能包装另外的异常。
ErrorHandler.warning(org.xml.sax.SAXParseException)
,
SAXParseException
public void fatalError(SAXParseException e) throws SAXException
默认的实现抛出 SAXParseException。如果应用程序编写者需要对每个严重的错误采取特定的措施(如将所有的错误收集到一个报告中),则可以在子类中重写此方法:当调用此方法时,无论哪种情况,应用程序都必须停止所有的常规处理,这是因为文档已不再可靠,并且解析器再也不能报告解析事件。
ErrorHandler
中的
fatalError
e
- 编码为异常的错误信息。
SAXException
- 任何 SAX 异常,可能包装另外的异常。
ErrorHandler.fatalError(org.xml.sax.SAXParseException)
,
SAXParseException