失效链接处理 |
Oracle XML开发手册(PDF) PDF 下载
本站整理下载:
相关截图:
主要内容:
类似于所有的标准, X M L也有数不清的概念和技术术语需要解释。由于开发 X M L是用来传
送数据的,因此,介绍一个例子,看一下标准的数据库中书籍列表的数据记录。一个复杂的
S Q L查询典型情况下将会返回下述格式的数据:
如果X M L用作输出表单,则该记录的每个数据项都将具有附加的上下文环境,如下所示:
本例中某些值得注意的项将在稍后进行探讨。可以注意到文件具有对称性,且每个数据块
都被其上下文所包围,形式类似于< c o n t e x t > . . . < / c o n t e x t >。尖括弧及其内部的文字称为标记(t a g),
每组标记及其包围的数据称为元素。这种关系可以认为类似于数据库中表的一列,其中标记的
文字相当于列标题,标记之间的文字相当于该列中某一行的数据。在前一例中, t i t l e应该是列名,
而History of Interviews应当是某一行中的数据。
还可以注意到,有几个标记包含的并非数据而是标记。这是 X M L一个很重要的特性,它允
许数据的嵌套以便更好的定义关系。返回到数据库的意义上, < a u t h o r >标记可以用表来模拟,而
该表的列则是<first name>和<last name>。在X M L的术语中,这些列标记被称为表名标记,即父
标记A u t h o r的子标记。
现在注意< p r i c e >标记,你可以看到它以 “名字=‘值’”的形式包含了文字。这些“名—
值”对叫做属性,开始标记中可以包括一个或多个属性。属性出现在结束标记中是非法的(例
如,</tag name=“f o o”>)。
下面是最后一个值得注意的术语,显然整个 X M L实例是被< b o o k > . . . < / b o o k >所包围的。这种
标记定义为文档的根,在整个文档中只能有一个。若 X M L文档遵循这样的规则:只有一个根标
记并且所有打开的标记都正确地关闭,则称该文档是构造良好( well formed)的,也称良构。
X M L的基本概念和术语是简单的,且已经形式化为开放的因特网标准。像 W 3 C的XML 1.0
规范中所说的,“X M L文档由称为实体的存储单元组成,实体中包含分析过或未分析的数据。分
析过的数据由字符组成,其中一些形成字符数据而另一些形成标记。标记对文档的存储布局和
逻辑结构进行描述。”X M L文档同时具有物理结构和逻辑结构。 X M L文档的物理结构简单地指
向X M L文件本身及可能引入的其他文件,而 X M L文档的逻辑结构则指向文档的序言( p r o l o g)
和主体(b o d y)。
图书列表的 X M L实例显示了X M L文档的主体,但它缺失了有助于识别其性质的重要信息。
该信息在文档的序言中,将在下一节定义。
1.1.1 序言
序言由X M L的声明组成,包括:版本号、可能的语言编码、其他属性(形如“名字 =‘值’”
的对)、可选的文档类型定义(Document Type Definition,D T D)等,D T D可以是内部的,即包
含在X M L文档中,也可以是外部的,即指向另一个文件。例如:
请注意,形如< ? . . . ? >的行是X M L中的处理指令(processing instruction,P I),将在本章中稍
后讨论。在这个例子里, X M L处理指令的名字就是 x m l。另外,本例所支持的字符集编码是
U n i c o d e的压缩版本,称为 U T F-8。最后,s t a n d a l o n e属性是指处理程序是否需要包含或引入其
他的外部文件。
序言的第二行使用了D O C T Y P E。该文档在这里声明数据模型。它为什么如此重要?请记住,
X M L文件同时具有物理和逻辑描述。在某些应用中,即使不知道信息是否缺失,也可能足以处
理X M L。但在大多数情况下,应用需要验证其收到的 X M L文档的合法性。要这样做,应该需要
知道 哪些元素是必需的,哪些可以有子标记,哪些可以有属性,等等。用 X M L的术语来说,数
据模型称为文档类型定义。文档类型定义可以包含在 X M L文件中,也可以简单地顺次引用,这
样处理程序就可以对其进行定位。
|