XLink的用於創建XML文檔的超鏈接。
|
XLink的瀏覽器支持
有一個在XML文檔中的XLink為沒有瀏覽器的支持。 然而,所有的主流瀏覽器都支持SVG中的XLink 。
XLink的語法
在HTML中, <a>元素定義的超鏈接。 然而,這是不是它是如何工作的XML。 在XML文檔中,你可以使用任何你想要的元素名稱 - 所以這是不可能的瀏覽器來預測哪些鏈接元素將在XML文檔中調用。
下面是如何使用的XLink創建XML文檔中的鏈接的簡單示例:
<?xml version="1.0" encoding="UTF-8"?>
<homepages xmlns:xlink="http://www.w3.org/1999/xlink">
<homepage xlink:type="simple"
xlink:href="http://www.w3ii.com">Visit w3ii</homepage>
<homepage xlink:type="simple"
xlink:href="http://www.w3.org">Visit W3C</homepage>
</homepages>
為了獲得訪問XLink的功能,我們必須聲明XLink命名空間。 XLink命名空間是: "http://www.w3.org/1999/xlink"
屬於XLink:類型和xlink:href的屬性<homepage>元素來自XLink命名空間。
屬於XLink:類型=“簡單”創建一個簡單的"HTML-like"鏈接(意思是“請點擊這裡去那裡”)。
該xlink:href屬性指定URL鏈接。
XLink的實例
下面的XML文檔包含XLink的特點:
<?xml version="1.0" encoding="UTF-8"?>
<bookstore xmlns:xlink="http://www.w3.org/1999/xlink">
<book title="Harry Potter">
<description
xlink:type="simple"
xlink:href="/images/HPotter.gif"
xlink:show="new">
As his fifth year at Hogwarts School of Witchcraft and
Wizardry approaches, 15-year-old Harry Potter is.......
</description>
</book>
<book title="XQuery Kick Start">
<description
xlink:type="simple"
xlink:href="/images/XQuery.gif"
xlink:show="new">
XQuery Kick Start delivers a concise introduction
to the XQuery standard.......
</description>
</book>
</bookstore>
例子解釋:
- XLink命名空間聲明在文檔的頂部(xmlns:xlink="http://www.w3.org/1999/xlink")
- 屬於XLink:類型=“簡單”創建一個簡單的"HTML-like"鏈接
- 該xlink:href屬性指定URL鏈接(在這種情況下-圖片)
- 屬於XLink:秀=“新”指定的鏈接應該在新窗口中打開
XLink的 - 深入學習
在上面的例子中,我們已經證明簡單的XLink。 訪問遠程位置時作為資源,而不是獨立的頁面的XLink越來越有趣。
如果我們設定的值xlink:show屬性為"embed" ,鏈接的資源應該被內嵌在網頁內處理。 當你考慮到這可能是另一個XML文檔,你可以,例如,建立XML文檔的層次結構。
您還可以指定當資源應該出現,用xlink:actuate屬性。
XLink的屬性參考
屬性 | 值 | 描述 |
---|---|---|
xlink:actuate | onLoad onRequest other none | 當鏈接的資源被讀取並顯示定義:
|
xlink:href | URL | 指定的URL鏈接到 |
xlink:show | embed new replace other none | 指定在哪裡打開鏈接。 默認值是"replace" |
xlink:type | simple extended locator arc resource title none | 指定鏈接的類型 |
XPointer的
|
XPointer的瀏覽器支持
沒有為XPointer的沒有瀏覽器的支持。 但XPointer的是其他XML語言的使用。
XPointer的實例
在這個例子中,我們將使用的XPointer與XLink的結合以指向另一文檔的特定部分。
我們將通過查看目標XML文檔(文檔,我們鏈接到)開始:
<?xml version="1.0" encoding="UTF-8"?>
<dogbreeds>
<dog breed="Rottweiler" id="Rottweiler">
<picture url="http://dog.com/rottweiler.gif" />
<history>The Rottweiler's ancestors were probably Roman
drover dogs.....</history>
<temperament>Confident, bold, alert and imposing, the Rottweiler
is a popular choice for its ability to protect....</temperament>
</dog>
<dog breed="FCRetriever" id="FCRetriever">
<picture url="http://dog.com/fcretriever.gif" />
<history>One of the earliest uses of retrieving dogs was to
help fishermen retrieve fish from the water....</history>
<temperament>The flat-coated retriever is a sweet, exuberant,
lively dog that loves to play and retrieve....</temperament>
</dog>
</dogbreeds>
需要注意的是XML文檔上面的每個元素上使用的id屬性!
因此,而不是鏈接到整個文檔(as with XLink) ,XPointer的,您可以鏈接到文件的特定部分。 要鏈接到頁面的特定部分,添加一個數字符號(#)並在該網址後的XPointer表達式xlink:href屬性,比如:XLink的:HREF =“http://dog.com/dogbreeds.xml #xpointer(ID('羅威'))“。 表達是指在目標文檔中的元素,以值的id "Rottweiler" 。
XPointer的還可以鏈接到一個元素一個id的速記方法。 您可以直接使用id的值,比如:XLink的:HREF =“http://dog.com/dogbreeds.xml#Rottweiler”。
下面的XML文檔包含鏈接到狗的品種為每個我的狗的詳細信息:
<?xml version="1.0" encoding="UTF-8"?>
<mydogs xmlns:xlink="http://www.w3.org/1999/xlink">
<mydog>
<description>
Anton is my favorite dog. He has won a lot of.....
</description>
<fact xlink:type="simple" xlink:href="http://dog.com/dogbreeds.xml#Rottweiler">
Fact about Rottweiler
</fact>
</mydog>
<mydog>
<description>
Pluto is the sweetest dog on earth......
</description>
<fact xlink:type="simple" xlink:href="http://dog.com/dogbreeds.xml#FCRetriever">
Fact about flat-coated Retriever
</fact>
</mydog>
</mydogs>