版权归原作者所有,如有侵权,请联系我们

[科普中国]-XLink语言

科学百科
原创
科学百科为用户提供权威科普内容,打造知识科普阵地
收藏

XLink(XML Linking Language,XML链接语言)定义一文档如何与另一文档的链接。它允许在XML文档中插入元素以创建和描述资源间的链接,关联元数据,以及链接外部文档。其规范部分类似于HTML中的超链接,但是XLink比HTML中的链接能力更强,提供先进的行为特征使得超链接更加灵活。XLink可以链接多个目标、角色、资源以及元素反馈。

XLink W3C推荐标准将链接定义为“资源或资源的部分间的明确表达出来的关系”。该关系通过一个符合XLink的XML元素而明确表达出来。使用XLink,XML作者不但可以链接外部文档,元素之间也可以链接,它们之间的关系也能链接。符合XLink的链接可能简单也可能复杂。1

链接对于Internet中每台汁算机上的数据信息,如果都能够被方便地识别、定址及获取,那对于用户来说将十分便利。链接就是用来在Internet上做到这些的规范定义。可以将链接理解为从源节点到终节点之间的一个资源连接。

链接具有如以下特性。

1.一个链接可以有一个、两个甚至是很多个终节点,而每—个终节点都可以指向不同的资源。

2.一个链接并不一定要有方向,它也可以是双向的。

3.链接的终节点可以是某一完整的资源,也可以是资源内部的某一部分。

4.链接点的表现方式根据链接资源的形式而定。

由于Intemet的广泛使用,大部分的用户都熟悉超文本链接的基本观念,亦即“一个链接具有两个端点及一个方向,两个端点通常称为Anchor:这个链接可以从一个起点连到任何一个网路资源的目标点,这些链接可能是一张图片、一卷影片、一段声音、一段程序、一篇HTML的文件或其中的元素等”。但是,HTML链接具有局限性,这些局限性主要体现在以下几点。

1.HTML链接内嵌在源文档里

这个限制防止在标记为不能编辑的文档之外建立链接。URL通常只限于指向单一文档,否则,就需要手工在目标文件中插入命名的定位符。如果对链接的文档没有写访问权,那么就无法实现链接的建立。

2.HTML链接只允许在一个方向浏览

该链接是单方向的。用来链接的文档知道它正与哪个资源进行链接,但反过来则不行。

3.HTML链接只能链接两个资源

通过HTML链接,只有目标窗口可以被指定,浏览器将根据它当前的状态做出不同的反应。例如,如果一个带有明确名称的窗口已经打开,它将覆盖内容;否则,它将创建新窗口。

4.HTML链接不保留文档之间的历史或关系内容

尽管浏览器可以跟踪浏览一系列义档的路径,但这种跟踪是很不可靠的。从HTML内部,没有任何方法知道访问者是从哪里来的。

除了在HTML中可以使用链接之外,在XML语言中也可以使用链接。通过链接,可以把XML功能扩展到外部资源上,例如其他XML文档、HTML文档甚至图像。这样可以通过运用链接定义相似文档之间的关系,确定浏览文档的顺序,甚至在一个XML文档中嵌入非XML内容。

可扩展的链接语言(XLL)就是专门用来为XML文档设置链接的。XLL的链接与HTML链接相似,只是在功能是更强大、更具有灵活性。

使用XLL可以获得文档间的更强有力的链接。它是专门为XML文档设计的,当然有些部分也可以与HTML文档一起使用。XLL可以实现使用HTML的基于URL超文本链接和定位可获得的任何功能。除此之外,它还支持多方位的链接,即以多个方向同时进行链接。任何元素都可以成为一个链接,甚至不需要将链接保存在与链接文档相同的文件中。

XLL中的XLink为传统的HTML链接提供了一个强大的替代功能。HTML链接可以建立从一个源点向一个终点的单向链接,而XLink则可以建立以下链接。

1.创建双向链接。

2.在外部文档间建立链接。

3.改变链接的行为,以便在页面加载时进行触发。

4.确定链接的内容如何显示。

在HTML中,链接是用标记来定义的。而在XML中,任何一个元素都可以成为链接源。包括链接的元素称作链接元素。

在加入一个XLink之前,包含XLink的XML文档必须同时包含一个指向XLink命名空间的引用。代码如下所示:

为了方便起见,通常使用xlink作为引用这个命名空间的前缀。2

简单链接在HTML中,元素表示链接,Web浏览器可以理解这个元素的含义并相应地对链接进行显示。而在XML中,可以对XML文档的任意元素添加链接。

简单链接非常类似于HTML的链接,但是简单链接比在HTML中使用标记创建的链接要简单。

简单链接把一个源文档中的元素指向目标文档,是源文档和目标文档之间的单向链接。简单链接是内联链接,内联链接是元素的一部分,可以连接到一个方向。简单链接只有一个标示要链接到的目标的源标示符或定位器。另外,简单链接是扩展链接的子集。

声明简单链接时,可以使用以下属性。

(1) xlink:type

对于简单链接,该属性的值总是simple。

(2) xlink:href

用来指定链接的目标,设置的属性值为链接的目标URI。

(3) xlink:role

指定给应用程序提供链接的补充说明的方法。使用XLink的应用程序可以通过查阅此属性来得到一个链接角色的信息。

(4) xlink:title

可以指定一个给用户提供信息的标签。当role属性为系统和应用程序提供信息时,此属性为用户提供辅助的信息。

(5) xlink:show

该属性定义了如何向用户显示目标内存。常取以下3个值。

1.new:链接到的目标内容应该显示在独立的环境中(对于浏览器,应该是新的浏览器窗口)。将xlink:show属性设置为new,这与HTML中target=“_blank”的意思是一样的。

2.replace:链接到的目标内容替换原来环境中的源内容(对于浏览器,这是超链接的默认方式)。

3.embedded:链接到的目标内容应该嵌入源文档的链接位置,将源文档中定义的链接替换掉。选择embedded与在HTML页面中嵌入一张图片化常相似。

xlink:show属性其他可能的值还包括other和none。other值的意思是使链接按照具体的实现进行动作,并表示它应该在链接中寻找其他信息来表明它该如何动作。none值也是将链接的动作留给具体实现来决定,但它并不表示在链接内行何种暗示。

(6) xlink:actuate

该属性定义了何时触发链接。它可以取以下两个值。

1.onRequest:用户必须采取某些操作才能够触发链接。它类似于HTML超链接的工作方式,用户必须单击链接的文本才能够激活链接。

2.onLoad:加载源文档时,链接将自动激活。当xlink:show属性为embedded时,该属性最有用,但是当xlink:show为new时,也可以使用该属性。2

本词条内容贡献者为:

李嘉骞 - 博士 - 同济大学