|
|
|||
|
7.1 XML链接与HTML链接
进行完对于XML的一系列基本介绍之后,让我们来探索一些XML更深层次的技术。完成了后面三章的学习,相信您将跃升为一个XML开发高手。这一章我们首先从XML链接说起。 说起HTML,大家可能都会对它所提供的超链接功能拍手称快。的确,超链接可以说是鼓起了我们网上冲浪的风帆,它打破了传统的直线形和树形的信息组织结构,根据发散思维的特点,帮助我们利用网状的信息组织,方便地浏览我们感兴趣的内容。 了解HTML的读者都知道,在HTML中表示链接的标记是<A>,通过标记<A>,可以从一个文件链接到另一个文件,或者链接到文件的某一部分。另外,使用标记<IMG>等可以将图象直接嵌入网页。下面就是一个典型的HTML链接的例子:
HTML链接尽管定义简单,使用方便,但它也存在着明显的局限性。首先,HTML链接是单向的,它只能从链接所在的文件指向另一个文件。也就是说,我们可以通过标记<A>的href属性知道该文件的若干链接目标,但无法知道又有哪些文件链接到该文件,不知道它有哪些链接源。其次,HTML链接只能指向一个文件,在需要指定多个链接的时候,不得不使用多个<A>标记,而由于HTML是非结构化的,这些链接的关系和结构信息无法表现。第三,HTML可以链接到文件内部的某一部分,这通过在目标文件中插入命名锚(named anchor)来实现。但是,如果源文件和目标文件由不同的人员负责,甚至在不同的站点上,两个文件的协作就成为问题。 XML链接在HTML链接的功能之上又加以扩展,可以支持更为复杂的链接。通过XML链接,不仅可以在XML文件之间建立链接,而且可以建立其他类型数据之间的链接。不仅如此,XML链接还为文件内部定位提供了全新的方式,允许链接的建立者利用文件结构指定文件内部的资源片断。利用简单XML链接,可以轻松地实现HTML中的链接功能;利用扩展XML链接,可以在多个资源之间建立链接,还可以建立多向的链接;利用XPointer在一个XML文件内部的定位功能,可以利用目标文件的结构指定所链接的资源,而无需对目标文件进行任何修改;利用链接库,可以将链接从文件中分离出来,就象用XSL文件把样式转换信息从XML文件中独立出来一样,从而简化链接的管理。 XML链接规范分为三个部分:XLink语言、XPointer语言和XML Base,我们将分三节分别进行讲述。关于Xlink的讨论基于XLink语言规范2000年7月3日候选标准;有关XPointer的讨论基于XPointer语言规范2000年6月7日候选标准;有关XBase的讨论基于XBase规范2000年6月7日工作草案。当前这几个规范都不是正式标准,因此并不稳定,某些内容会随着规范的发展而变化,建议大家在具体开发时参考一下W3C公布的最新版本,XLink、XPointer和XBase规范的最新版本分别可在http://www.w3.org/TR/xlink、http://www.w3.org/TR/xptr、http://www.w3.org/TR/xmlbase处取得。 在详细介绍XML链接之前,我们先来看一个XML链接的例子:
与HTML的链接元素相比较,上面这个例子中的XML链接元素存在以下几点不同:
当前的主流浏览器Netscape和Internet Explorer对XLink的支持非常弱,在Netscape
6.0的预览发行版中可以发现对简单XML链接的支持,但是其支持的部分并不完全符合最新的规范;IE5.5没有提出对XLink的支持。另外,虽然现在有许多关于XLink的研究计划,但能够完整支持XLink的工具和应用还没有出现。 |