• 热门标签

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

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

• 符号信息项目(必须的)
• 实体开始标志信息项目(可选的)
• 实体结束标志信息项目(可选的)
• CDATA开始标志信息项目(可选的)
• CDATA结束标志信息项目(可选的)
• 命名空间声明项目(必须的)
每个格式正规的X M L文档必须有一个确切的文档信息项目,和至少一个代表这个文档的根
元素的元素信息项目。例如下面这个可能是最简单的格式正规的X M L文档:
这个文档有一个文档信息项目,代表作为一个整体的文档(因为每一个X M L文档都有一个
文档信息项目),和一个代表< C a t a l o g >元素的< C a t a l o g >元素信息项目。
上面定义为可选项的项目,之所以是可选的是因为在一个分析过的文档表现中它们不是必
须的,因为它要与W 3 C信息集合的原始定义完全相同。于是,假设你有下面的X M L文档:
程序清单8 - 1
经过全面地分析,这个文档包括一个文档信息项目,三个元素信息项目,(C a t a l o g,B o o k和
Ti t l e)一个注释信息项目。根据信息集合的标准,注释信息项目可以不用,而且在原始文档中
不会丢失信息—但是你必须保存这个文档信息项目和三个元素信息项目。
让我们浏览一下信息集合所详细说明的信息项目种类,以及它给每个项目所下的定义。
1. 文档
X M L文档必须只有一个表明文档是个整体的文档信息项目,它有以下特点:
• 子信息项目按照它们在原始文档中出现的顺序排列。这个序列至少包括信息项目元素。另
242使用XML 高级编程
下载
外,它还必须包括在文档根元素内容之外定义的升级结构信息项目。由开发人员的决定,
这个序列还应包括文档根元素之外的注释信息项目,如声明文档类型的信息项目(如果它
在源文档中被详细说明)。
• 在一个文档中,服务于全部符号的无序的符号信息项目集合。
• 在一个文档中,服务于所有未分析实体的无序的实体信息项目集合。这个序列也可以包括
分析过的实体信息项目、文档实体,如果开发人员选择的话,还包括外部的D T D子集。
• 开发人员还可以选择包括所处理文档的U R I。
2. 元素
在X M L文档中对于每一个元素,必须有一个元素信息项目。现在,对于一个元素的两种表
示方法应该是一样的:

程序清单8 - 2
元素信息项目有以下特征:
• 一系列有续的子元素、处理指令、略过实体的引用和字符信息项目,它们以在元素中出现
的先后顺序排列。这个序列可以是空的。以开发人员的判断力,注释信息项目也可以被包
括在内。这个序列还可以包括实体开始记号,实体结束记号, C D ATA开始记号以及
C D ATA结束记号信息项目—如果包括这些,它们必须成对出现(没有开始记号就没有结
束记号,反之亦然)。
• 一个属性信息项目的未排序集合是服务于这个元素的每一个属性的。这个集合也包括
缺省属性。如果给这个元素一个命名空间属性,而分析器不懂命名空间,在这个序列
里就需要有一个属性来描述命名空间;否则就不需要命名空间属性。这个装置可以是
空的。
• 元素名称中相同资源识别器由命名空间处理器提供。如果分析器没有进行命名空间处理,
或者没有命名空间详细说明这个元素, U R I就是无效的。
• 元素名称的部分。如果分析器没有进行命名空间处理,这个名字就是确定的名称(如果一
个元素名称包括一个命名空间标识符,它就包括命名空间和冒号)否则这只是名称的一部
分(冒号后面的部分),或者如果命名空间被详细描述,这就是名称的全部。
• 一个关于命名空间声明信息项目参考的未排序集合。这些与被声明为这个元素的组成部分
的命名空间相一致。
• 以开发者的判断力,在这个元素的范围内,一个关于命名空间声明信息项目说明的未排序
集合与命名空间声明相对应(它们是在这个元素或以前的元素中被声明的)。
可能对于命名空间处理过程还有一些不清楚之处,下面举一些例子:
没有命名空间的X M L:
第8章链接和查询使用243 下载
程序清单8 - 3
对于了解命名空间的分析器和不了解命名空间的分析器< B o o k >元素可能是:
程序清单8 - 4
反之,如果是有命名空间的X M L:
程序清单8 - 5
对于一个了解命名空间的分析器, < B o o k >元素有以下特性:
程序清单8 - 6
而对于一个不了解命名空间的分析器,它有以下特性:
程序清单8 - 7
有关命名空间的更多信息请参见第7章。
3. 属性
对于文档中的每一个属性一定有一个属性信息项目。如果处理器了解命名空间,用于定义
命名空间的属性就不会作为信息项目出现。例如:
程序清单8 - 8
在这里,c o l o r是一个属性。
属性信息项目有以下特点:
• 属性名称的U R I部分。参看以前关于解释了解命名空间和不了解命名空间的分析器怎样对
待U R I元素的定义。
244使用XML 高级编程
下载
• 属性名称的本地部分。再参看元素的定义来了解如何分析命名空间。
• 一个已排序的关于每一个出现在(已格式化的)属性值里的特征信息项目序列。另外在属
性值中,关于每一个实体引用的实体开始标记和实体结束标记信息项目也可以被包括在这
个序列中。
• 由开发人员决定,一个标志显示出这个属性值在一个D T D或者模式中被详述或者被缺省。
• 由开发人员决定,这个属性的缺省值来自D T D。
• 由开发人员决定,声明D T D中这个属性的类型—I D、I D R E F、I D R E F S、E N T I T Y、
E N T I T I E S、N M TO K E N、N M TO K E N S、N O TAT I O N,C D ATA或E N U M E R AT E D的属性类
型。
4. 处理指令
在文档中,每一个处理指令都必须有一个处理指令信息项目。出于信息集合的目的,不把
X M L声明和外部已分析过的实体声明为处理指令。处理指令的语法是:
 
中国航空网 www.aero.cn
航空翻译 www.aviation.cn
本文链接地址:XML高级编程上(87)