• 热门标签

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

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

只能是D o c u m e n t Ty p e节点的子节点。
不能有任何类型的子节点。
886使用XML 高级编程
下载
下载
附录C SAX 1.0:XML简单API
本附录包含了S A X接口规范。它忠实地反映了h t t p : / / w w w. m e g g i n s o n . c o m / s a x /上的S A X规范,
其中楷体字为编辑增加的注释。
在本附录中,类和接口是按照字母顺序依次描述的;在每个类中,方法也是按照字母顺序
排列的。
S A X规范是公开免费发行的:上面列出的地址提供了版权声明。从本质上讲,它的版权政
策如下:你可以随意进行处理和拷贝,但是我们对于由此引起的错误和遗漏概不负责。
S A X还包含三个“辅助类”:
• AttributeListImpl类是A t t r i b u t e L i s t接口的实现。
• LocatorImpl类是L o c a t o r接口的实现。
• ParserFactory类允许你在运行时加载以参数标识的解析器。
本附录没有包含这些辅助类的信息。可以通过访问h t t p : / / w w w. m e g g i n s o n . c o m,详细了解辅
助类,并研究S A X样例应用程序。
C.1 类层次
C.1.1 org.xml.sax.AttributeList接口
A t t r i b u t e L i s t是出现在特定起始标记中的一组属性。在解析器提供的D o c u m e n t H a n d l e r接口
的s t a r t E l e m e n t事件中,包含A t t r i b u t e L i s t信息。A t t r i b u t e L i s t基本上是元素的一组属性的名-
值对;如果解析器分析了DTD,它还要提供每种属性类型的信息。
元素的属性接口规范
S A X解析器实现该接口,并将接口实例作为每个s t a r t E l e m e n t事件的第二个参数传递给S A X
应用程序。
只有在s t a r t E l e m e n t调用的范围内,解析器提供的实例才能返回有效的结果(为了保存结果
以备将来使用,应用程序必须制作拷贝: A t t r i b u t e L i s t I m p l辅助类提供了便利的构造器)。
A t t r i b u t e L i s t仅包含指定的或缺省的属性:它不包括# I M P L I E D属性。
S A X应用程序可以通过两种方式从A t t r i b u t e L i s t中获取信息。首先,它可以对整个列表执行
循环操作:
(需要注意的是,如果列表中没有属性, g e t L e n g t h ( )将返回零。)
另外,应用程序还可以请求特定属性的值或类型:
A t t r i b u t e L i s t I m p l辅助类提供了A t t r i b u t e L i s t的实现,解析器或应用程序编写者可以非常方便
地使用它。
表C - 1
名称描述
g e t L e n g t h 返回列表中包含的属性数
public int getLength() S A X解析器可以以任意顺序提供属性,无论这些属性是按照什么顺序
声明或指定的。属性数可以是零
返回:
列表中包含的属性数
g e t N a m e (根据位置)返回列表中指定属性的名称
public String getName( 名称必须是唯一的: S A X解析器不允许多次包含相同的属性。列表
int index) 中将忽略没有值的属性(被声明为# I M P L I E D,且在起始标记中没有
指定值的属性)。
如果属性名称有命名空间前缀,要保留该前缀。
参数:
i n d e x——属性在列表中的索引(从0开始)。
返回:
888使用XML 高级编程
下载
(续)
名称描述
被索引的属性的名称,如果索引超出有效范围,则返回空
g e t Ty p e (根据位置)返回列表中指定属性的类型
public String getTy p e ( 属性类型可以是以下字符串:“C D ATA”、“I D”、
int index) “I D R E F”、“I D R E F S”、“N M TO K E N”、“N M TO K E N S”、
“E N T I T Y”、“E N T I T I E S”或“N O TAT I O N”(永远是大写)
如果解析器没有读取属性的声明,或者解析器不报告属性的类型,则
根据XML 1.0 建议(3 . 3 . 3属性值的规格化)的规定返回值“ C D ATA”
对于非表示法的枚举属性,解析器将返回类型值
“N M TO K E N”
参数:
i n d e x——属性在列表中的索引(从0开始)
返回:
字符串形式的属性类型,如果索引超出有效范围,则返回空
g e t Ty p e (根据名称)返回列表中指定属性的类型
public String getTy p e ( 与g e t Ty p e ( i n t )的返回值相同
String name) 如果文档中的属性名称有命名空间前缀,则应用程序在此也必须包含
该前缀。
参数:
n a m e——属性的名称
返回:
字符串形式的属性类型,如果索引超出有效范围,则返回空
g e t Va l u e (根据位置)返回列表中指定属性的值。
public String getVa l u e ( 如果属性值是名称记号列表( I D R E F S、E N T I T I E S或N M TO K E N S),
int index) 返回的字符串中将包含这些记号的序列,它们之间以空格分隔
参数:
i n d e x——属性在列表中的索引(从0开始)。
返回:
字符串形式的属性类型,如果索引超出有效范围,则返
回空
g e t Va l u e (根据名称)返回列表中指定属性的值
public String getVa l u e ( 与g e t Va l u e ( i n t )的返回值相同
String name) 如果文档中的属性名称有命名空间前缀,则应用程序在
此也必须包含该前缀
参数:
n a m e——属性的名称
返回:
字符串形式的属性值,如果索引超出有效范围,则返回空
C.1.2 org.xml.sax.DocumentHandler接口
每个S A X应用程序都要包含实现该接口的类,它可以直接产生H a n d l e r B a s e类的实例,或
者继承HandlerBase类。第6章详细讨论了各种方法。
附录C SAX 1.0: XML简单API使用889 下载
接收普通文档事件的通知
这是大多数S A X应用程序实现的主要接口:如果应用程序需要被告知基本解析事件,它实
 
中国航空网 www.aero.cn
航空翻译 www.aviation.cn
本文链接地址:XML高级编程下(112)