XLink 和 XPointer 语法

XLink 语法

在 HTML 中,我们知道 <a> 元素可定义超级链接。不过 XML 不是这样工作的。在 XML 文档中,您可以使用任何你需要的名称 - 因此对于浏览器来说是无法预知在 XML 文档中可调用何种超级链接元素。

在 XML 文档中定义超级链接的方法是在元素上放置可用作超级链接的标记。

下面是在 XML 文档中使用 XLink 来创建链接的简单实例:

<?xml version="1.0"?>

<homepages xmlns:xlink="http://www.w3.org/1999/xlink">

  <homepage xlink:type="simple"
  xlink:href="http://www.phpStudy.net">Visit phpStudy</homepage>
  
  <homepage xlink:type="simple"
  xlink:href="http://www.w3.org">Visit W3C</homepage>
  
</homepages>

为了访问 XLink 的属性和特性,我们必须在文档的顶端声明 XLink 命名空间。

XLink 的命名空间是:"http://www.w3.org/1999/xlink"。

<homepage> 元素中的 xlink:type 和 xlink:href 属性定义了来自 XLink 命名空间的 type 和 href 属性。

xlink:type="simple" 可创建一个简单的两端链接(意思是“从这里到哪里”)。稍后我们会研究多端链接(多方向)。

XPointer 语法

在 HTML 中,我们可创建一个既指向某个 HTML 页面又指向 HTML 页面内某个书签的超级链接(使用#)。

有时,可指向更多具体的内容会更有好处。举例,我们需要指向某个特定的列表的第三个项目,或者指向第五段的第二行。通过 XPointer 是很容易做到的。

假如超级链接指向某个 XML 文档,我们可以在 xlink:href 属性中把 XPointer 部分添加到 URL 后面,这样就可以导航(通过 XPath 表达式)到文档中某个具体的位置了。

举例,在下面的例子中,我们通过唯一的 id “rock” 使用 XPointer 指向某个列表中的第五个项目。

href="http://www.example.com/cdlist.xml#id('rock').child(5,item)"