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>