曝光台 注意防骗
网曝天猫店富美金盛家居专营店坑蒙拐骗欺诈消费者
public void error( 可以在一个子类中重载本方法,以便针对每个错
SAXParseException e) 误执行特殊的操作,例如:在日志文件中插入错
throws SAXException 误信息,或者将它输出到控制台
f a t a l E r r o r 缺省的实现抛出S A X P a r s e E x c e p t i o n异常。如果
public void fatalError( 应用程序的编写者需要针对每个致命错误执行特
SAXParseException e) 殊的操作(例如:将所有错误搜集到一个报告中),
throws SAXException 他可以在一个子类中重载本方法:无论如何,调
用本方法时,应用程序必须停止所有常规的处理,
因为此时文档不再可靠,解析器也不再报告解析
事件
896使用XML 高级编程
下载
(续)
名称描述
i g n o r a b l e W h i t e s p a c e 缺省情况下,不执行任何操作。应用程序的编写
public void ignorableWhitespace( 者可以重载本方法,以便针对每个可忽略的空白
char ch[], 块执行特殊的操作(例如:将数据添加到节点或
int start, 缓存中,或者将数据打印到文件中)
int length)
throws SAXException
n o t a t i o n D e c l 缺省情况下,不执行任何操作。如果应用程序的
public void notationDecl( 编写者希望跟踪文档中声明的表示法,他可以在
String name, 一个子类中重载本方法
String publicId,
String systemId)
p r o c e s s i n g I n s t r u c t i o n 缺省情况下,不执行任何操作。应用程序的编写
public void processingInstruction( 者可以在一个子类中重载本方法,以便针对每个
String targ e t , 处理指令执行特殊的操作,例如:设置状态变量,
String data) 或者调用其他方法
throws SAXException
r e s o l v e E n t i t y 总是返回空,以便解析器使用X M L文档中提供的
public InputSource resolveEntity( 系统标识符
String publicId, 本方法实现了SAX缺省的行为:应用程序的编写
String systemId) 者可以在一个子类中重载它,以执行特殊的转换,
throws SAXException 例如:在某类目录中查找,或者进行U R I重定向。
s e t D o c u m e n t L o c a t o r 缺省情况下,不执行任何操作。如果应用程序的
public void setDocumentLocator( 编写者希望保存定位器,以便定位其他文档事件,
Locator locator) 他可以在一个子类中重载本方法
s t a r t D o c u m e n t 缺省情况下,不执行任何操作。应用程序的编写
public void startDocument() 者可以在一个子类中重载本方法,以便在文档的
throws SAXException 开始处执行特殊的操作(例如:分配树的根节点,
或者创建输出文件)
s t a r t E l e m e n t 缺省情况下,不执行任何操作。应用程序的编写
public void startElement( 者可以在一个子类中重载本方法,以便在每个元
String name, 素的开始处执行特殊的操作(例如:分配新的树
AttributeList attributes) 节点,或者将输出信息写入文件)
throws SAXException
u n p a r s e d E n t i t y D e c l 缺省情况下,不执行任何操作。应用程序的编写
public void unparsedEntityDecl( 者可以在一个子类中重载本方法,以便跟踪文档
String name, 中声明的未解析实体
String publicId,
String systemId,
String notationName)
w a r n i n g 缺省的实现不执行任何操作。应用程序的编写者
public void warning( 可以在一个子类中重载本方法,以便针对每个警
SAXParseException e) 告执行特殊的操作,例如:在日志文件中插入警
throws SAXException 告信息,或者将它输出到控制台
附录C SAX 1.0: XML简单API使用897 下载
C.1.7 org.xml.sax.InputSource类
I n p u t S o u r c e对象代表X M L文档或它所引用的外部实体的容器(从技术角度讲,主文档本
身就是一个实体)。I n p u t S o u r c e类是由S A X提供的:通常,应用程序将I n p u t S o u r c e类实例
化,并在其中保存输入信息的位置,解析器会询问它从何处获取输入信息。
I n p u t S o u r c e对象通过以下三种方式为解析器提供输入:系统标识符(或U R L)、R e a d e r
(它传递统一码字符流)或InputStream(它传递未解释的字节流)。
X M L实体的单一输入源
S A X应用程序可以利用本类将有关输入源的信息封装在一个对象中,它可能包含公共标识
符、系统标识符、字节流(或许采用特定的编码形式)和/或字符流。
应用程序可以通过以下两种方式将输入源传递给解析器:作为P a r s e r. p a r s e方法的参数,或
者作为E n t i t y R e s o l v e r. r e s o l v e E n t i t y方法的返回值。
S A X解析器将利用I n p u t S o u r c e对象确定如何读取X M L输入信息。如果有字符流,解析器将
直接读取该字符流;否则,如果存在字节流,解析器将使用该字节流;如果两者均不存在,解
析器将试图打开到由系统标识符标识的资源的U R I连接。
I n p u t S o u r c e对象属于应用程序: S A X解析器不能通过任何方式修改它(如果需要的话,解
析器可以修改该对象的拷贝)。
如果你以R e a d e r或I n p u t S t r e a m的形式提供输入,最好同时提供系统标识符。这样,虽然解
析器不会使用U R I获取真正的X M L输入,但是它可以用于诊断,更重要的,它有助于解
析文档中的任何相对URI,例如:实体引用。
表C - 7
名称描述
I n p u t S o u r c e 零参数缺省构造器
public InputSource()
I n p u t S o u r c e 使用系统标识符创建新的输入源
public InputSource( 应用程序也可以使用s e t P u b l i c I d包含公共标识
String systemId) 符,或者通过s e t E n c o d i n g指定字符编码,如果字
符编码已知的话
如果系统标识符是U R L,它必须被完全解析。
中国航空网 www.aero.cn
航空翻译 www.aviation.cn
本文链接地址:
XML高级编程下(116)