• 热门标签

当前位置: 主页 > 航空资料 > 计算机 >

时间:2010-08-09 13:16来源:蓝天飞行翻译 作者:admin
曝光台 注意防骗 网曝天猫店富美金盛家居专营店坑蒙拐骗欺诈消费者

到可靠的和/或本地U R I,在某类目录中寻找公共标识符,或
者从数据库或其他输入源(例如:对话框)读取实体
如果系统标识符是U R L,S A X解析器在将它报告给应用程
序之前必须完全解析它
参数:
p u b l i c I d——所引用的外部实体的公共标识符,如果不存
在公共标识符则为空
s y s t e m I d——所引用的外部实体的系统标识符
返回:
描述新的输入源的I n p u t S o u r c e对象,如果要求解析器打开
到系统标识符的常规U R I连接,则返回空
抛出:S A X E x c e p t i o n
任何S A X异常,可能包含其他异常
抛出:I O E x c e p t i o n
Java IO异常,可能是由为I n p u t S o u r c e创建新的I n p u t S t r e a m
或R e a d e r引起的
C.1.5 org.xml.sax.ErrorHandler接口
如果你需要对错误进行特别处理,可以在应用程序中实现本接口。H a n d l e r B a s e类提供了
缺省的实现。
S A X错误处理的基本接口
894使用XML 高级编程
下载
如果S A X应用程序需要实现定制的错误处理,它必须实现本接口,并通过解析器的
s e t E r r o r H a n d l e r方法向S A X解析器注册实例。此后,解析器可以通过本接口报告所有的错误和警
告。
解析器可以使用本接口取代抛出异常:应用程序将决定是否针对不同类型的错误和警告抛
出异常。然而,在调用f a t a l E r r o r方法之后,解析器不必继续提供有价值的信息(换句话说,
S A X驱动类可以捕获异常并报告f a t a l E r r o r)。
H a n d l e r B a s e类提供了本接口的缺省实现,它忽略了警告和可恢复的错误,对于致命错误,
它抛出S A X P a r s e E x c e p t i o n 。应用程序可以选择扩展该类,而不必完全从头开始实现
E r r o r H a n d l e r接口。
表C - 5
名称描述
e r r o r 接收可恢复的错误的通知。
public void error (SAXParseException 它对应于W3C XML 1.0建议1 . 2节中“错误”的定义。
e x c e p t i o n ) 例如,验证有效性的解析器可以使用这个回调信号报告违反有效
性约束的情况。缺省的行为是不采取任何操作
throws SAXException 调用本方法之后,S A X解析器必须继续提供常规的解析事件:应
用程序应该仍然有可能继续处理文档直至文档的结尾。如果应用程
序不能做到这一点,解析器应该报告致命错误,即使XML 1.0建议
并不要求如此
参数:
e x c e p t i o n—封装在S A X解析异常中的错误信息
抛出:S A X E x c e p t i o n
任何S A X异常,可能包含其他异常
f a t a l E r r or 接收不可恢复的错误的通知
public void fatalError(SAXParseException 它对应于W3C XML 1.0建议1 . 2节中“致命错误”的定义。例如,解
e x c e p t i o n ) 析器可以使用这个回调信号报告违反格式正规约束的情况
throws SAXException 应用程序必须假设解析器调用本方法之后文档是不重用的,它只是
为了搜集更多的错误信息才应该继续处理文档:实际上,一旦调用
本方法,S A X解析器可以停止报告其他任何事件
参数:
e x c e p t i o n—封装在S A X解析异常中的错误信息
抛出:S A X E x c e p t i o n
任何S A X异常,可能包含其他异常
w a r n i n g 接收警告的通知
public void warning(SAXParseException S A X解析器将使用本方法报告XML 1.0建议定义的既非错误,又
e x c e p t i o n ) 非致命错误的情况。缺省的行为是不采取任何操作
throws SAXException 在调用本方法之后, S A X解析器必须继续提供常规的解析事件:
应用程序应该仍然有可能继续处理文档直至文档的结尾
参数:
e x c e p t i o n—封装在S A X解析异常中的警告信息
抛出:S A X E x c e p t i o n
任何S A X异常,可能包含其他异常
附录C SAX 1.0: XML简单API使用895 下载
C.1.6 org.xml.sax.HandlerBase类
H a n d l e r B a s e类是由S A X本身提供的:它提供大多数方法的实现,否则这些方法都要由应
用程序来实现。如果你在应用程序中创建H a n d l e r B a s e类的子类,只需要编写具有非缺省
行为的方法。
处理器的缺省基类
H a n d l e r B a s e类实现了以下四个S A X接口的缺省行为: E n t i t y R e s o l v e r、D T D H a n d l e r、
D o c u m e n t H a n d l e r和E r r o r H a n d l e r。
当应用程序编写者只需要实现部分接口时,可以扩展本类;当应用程序不提供处理器时,
解析器编写者可以实例化本类,以提供缺省的处理器。
需要注意的是,是否使用本类是可选的。
在下面的描述中,只介绍了每个方法的行为。要了解它们的参数和返回值,参见相应的
接口定义。
表C - 6
名称描述
c h a r a c t e r s 缺省情况下,不执行任何操作。应用程序的编写
public void characters( 者可以重载本方法,以针对每个字符数据块执行
char ch[], 特殊的操作(例如:将数据添加到节点或缓存中,
int start, 或者将数据打印到文件中)
int length)
throws SAXException
e n d D o c u m e n t 接收文档结束的通知
public void endDocument() 缺省情况下,不执行任何操作。应用程序的编写
throws SAXException 者可以在一个子类中重载本方法,以便在文档的
结束处执行特殊的操作(例如:结束树节点,或
者关闭输出文件)
e n d E l e m e n t 缺省情况下,不执行任何操作。应用程序的编写
public void endElement( 者可以在一个子类中重载本方法,以便在每个元
String name) 素的结束处执行特殊的操作(例如:结束树节点,
throws SAXException 或者将输出信息写入文件)
e r r o r 缺省的实现不执行任何操作。应用程序的编写者
 
中国航空网 www.aero.cn
航空翻译 www.aviation.cn
本文链接地址:XML高级编程下(115)