• 热门标签

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

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

见图8 - 3)。
图8-3
你应该牢记这一点,当我们讨论扩展链接时,会发现它的重要性。X L i n k是对位置而不是资
源进行操作的—资源的缺省位置为“ t o p”,但是资源类型也恰好采用这种定义。
4. 简单链接的例子
在我们继续讨论之前,先简要看两个例子:
程序清单8 - 2 3
254使用XML 高级编程
下载
资源1 资源2
源目标

目标
资源1
这个例子创建了一个标题为Author list的链接,使用户知道有一个与之相关的链接信息(可
以像H T M L文档一样为之加上下划线)。当使用者击活这个链接,文档就会在新的上下文环境中
打开。
程序清单8 - 2 4
这个例子说明,当源文档开始被提出来时,文档a u t h o r s . x m l应在源文档的链接位置被表示出
来(记住这实际上应该由用户代理来决定如何对待链接,所以可能会有些变化)。
值得注意的是现在有些把show 和a c t u a t e结合起来,而这并没有多大的意义,例如:
xlink:show =“r e p a l c e”和x l i n k : a c t u a t e =“o nLo a d”。这样会潜在造成一个文档到另一个文档的
重复定向,但是如果两个这样的链接同时出现在严格源文档中,应该会出现什么样的情形呢?
对于所有特殊的显示行为, W 3 C并没有试图去阐明在类似于这些的情景中,一个表达行为应该
是怎样的,相信时间会告诉我们如何使用特定的工具去解决这个问题。
5. 扩展链接
对XLi n k来说,另外一种链接方式称为扩展链接。扩展链接允许把多个资源链接在一起,它
们会被指定为(也就是说,在一个不是源文档的文档中)。让我们看一下扩展链接的语法。
这里定义了一个扩展链接:
程序清单8 - 2 5
注意我们有四种类型的子元素: < x l i n k : t i t l e > 、< x l i n k : a r c > 、< x l i n k : l o c a t o r >和
< x l i n k : r e s o u r c e >,稍后我们再讨论这些子元素。下面的属性可能与一个扩展链接相关:
(1) xlink:type
对于扩展链接来说,该属性总是属于扩展的。如果你声明了一个扩展XLi n k元素,那么这个
扩展元素的名字应该是< x l i n k : e x t e n d e d >。
(2) xlink:role
该属性和简单链接元素行使同样的功能。
(3) xlink:title
该属性和简单链接元素行使着同样的功能。
第8章链接和查询使用255 下载
注意对于链接的目标元素来说并没有明确的标准—因为没有h r e f属性。实际上,数据源也
没有定义—不像简单链接,扩展链接并不意味着它们的数据源是链接所处的文档。为了指明
参与链接的不同位置及链接之间的连接,我们有必要使用两个子元素< x l i n k : l o c a t i o n >和
< x l i n k : a r c >。
(4) <xlink:title>元素
这个元素用来把扩展链接与语义信息相关联,例如:一个链接和菜单的不同页码相关联,
可能具有值为“ M e n u”的< x l i n k : t i t l e >元素。这个信息的使用由处理器来完成—XLi n k规范并
没有规定该信息的使用。可以指定多个标题(例如,一个X M L文档正在被国际化)。
这里是< x l i n k : t i t l e >元素的定义:
程序清单8 - 2 6
其中一个属性x m l : l a n g,就是用来为国际化目的指定一种语言。
(5) <xlink:locator>元素
这些总是作为扩展链接的子元素出现的,它们用来指定参与扩展链接的定位。例如,如果
我们在五个不同的数据源之间采用链接(比如说,菜单的5个页码),那么参与链接的这五个子
元素每个将有一个定位子元素。
这里是< x l i n k : l o c a t o r >元素的定义:
程序清单8 - 2 7
正如你所看到的,在这里你可以指定位置的U R I以及它的文本名称和大致功能。这些属性发
挥着它们在简单连接中同样的功能。
注意:一个定位并不是显式地指定一个链接—它仅仅指定一个参与链接的位置。为了定
义定位之间显式的链接,我们需要使用< x l i n k : a r c >元素。
(6) <xlink:arc>元素
这些也总是作为扩展链接的子元素出现的,用来定义参与扩展链接的两个定位之间的连接。
这里是< x l i n k : a r c >元素的定义:
程序清单8 - 2 8
256使用XML 高级编程
下载
s h o w和a c t u a t e属性发挥着它们在简单连接中同样的功能:它们定义链接如何被初始化和显
示。如果不指定这些属性,应该由部分实现来决定如何横贯这些a r c,这里有两个新属性:
(7) xlink:from
这个元素是定义链接起始点的< x l i n k : l o c a t o r >和< x l i n k : r e s o u r c e >元素的r o l e属性的值。显式
定义了连接的数据源能够使我们创建外联数据库,就如我们本章后面所见到的。
(8) xlink:to
这个元素是定义链接截止点的< x l i n k : l o c a t o r >和< x l i n k : r e s o u r c e >元素的r o l e属性的值。
注意扩展链接中现在有不止一个的定位和资源具有相同的r o l e,一个定义于r o l e上的a r c会把
所有具有role 的定位连接起来。例如,假如说我们有下面的文档:
程序清单8 - 2 9
扩展链接定义了下面的连接:
程序清单8 - 3 0
(9) <xlink:resource>元素
这些是作为扩展链接的子元素出现的,是用来定义链接的本地(内联)部分(添加到
< x l i n k : l o c a t o r >元素,用来指定连接的外联部分)。这些元素具有r o l e和t i t l e属性,具有一个A N Y
的内容类型,而这个内容的用途不是由XLi n k规范所定义的。
下面是< x l i n k : r e s o u r c e >元素的定义:
第8章链接和查询使用257 下载
程序清单8 - 3 1
(10) 隐式与显式A r c s
注意:查看一下参与扩展链接的位置列表可决定某些连接信息,假如我们声明了一个扩展
 
中国航空网 www.aero.cn
航空翻译 www.aviation.cn
本文链接地址:XML高级编程上(91)