XML、XLink 和 XQuery
- Nakaraang pahina XML XQuery
- Susunod na pahina Validator ng XML
XLink 用于在 XML 文档中创建超链接。
XPath
- XLink 用于在 XML 文档中创建超链接
- XML 文档中的任何元素都可以充当链接
- 通过 XLink,可以在被链接的文件外部定义链接
- XLink 是 W3C 推荐标准
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="https://www.codew3c.com">Visit CodeW3C.coms</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 命名空间。
xlink:type="simple" 创建一个简单的“类似 HTML 的”链接(意思是“单击此处转到别处”)。
xlink:href 属性指定要链接到的 URL。
XLink 实例
下面的 XML 文档包含 XLink 功能:
<?xml version="1.0" encoding="UTF-8"?> <bookstore xmlns:xlink="http://www.w3.org/1999/xlink"> <book title="雅舍谈吃"> <description xlink:type="simple" xlink:href="/images/cswd.jpg" xlink:show="new"> 《雅舍谈吃》堪称潮汕美食的指南书,其中为美食爱好者和寻味者提供了所需要的指导和帮助; 这本书又可说是潮汕美食的人文读本,书中介绍的是潮汕美食而非潮汕饮食,充分地将食物背后所隐藏的乡土文化、饮食习俗和历史细节挖掘展现出来。 </description> </book> <book title="了不起的狐狸爸爸"> <description xlink:type="simple" xlink:href="/images/mrfox.jpg" xlink:show="new"> 博吉斯、邦斯和比恩是你所能遇到的最卑鄙、最小气的人,他们憎恨狐狸先生,决定把他全家除掉。 于是,这三个人拿着枪,阴险地等在狐狸先生的洞外……但狐狸先生自有对付他们的妙计! 于是,一场智慧和力量的较量开始了…… </description> </book> </bookstore>
例子解释:
- XLink 命名空间在文档顶部声明 (xmlns:xlink="http://www.w3.org/1999/xlink")
- xlink:type="simple" 创建一个简单的“类似 HTML”的链接
- xlink:href 属性指定要链接到的 URL(在本例中为图像)
- xlink:show="new" 指示链接应在新窗口中打开
XLink - 走得更远
在上面的例子中,我们演示了简单的 XLink。
如果我们将远程的位置作为资源而不是独立页面访问时,XLink 将变得更加有趣。
如果我们将 xlink:show 属性值设置为 "embed",则被链接的资源应在页面内内联处理。例如,如果您认为这可能是另一个 XML 文档,则可以构建 XML 文档的层次结构。
您还可以使用 xlink:actuate 属性指定资源应出现的时间。
XLink 属性参考
属性 值 描述 xlink:actuate onLoad onRequest other none 定义何时读取并显示被链接的资源: onLoad - 资源应在文档加载时加载并显示 onRequest - Hindi magiging binabasa o ipapakita ang resource bago mapindot ang link xlink:href URL Tinutukoy ang URL na gagamitin sa link. xlink:show embed new replace other none Tinutukoy kung saan ililipat ang link. Ang default ay "replace". xlink:type simple extended locator arc resource title none Tinutukoy ang uri ng link.XPointer
XPath- Pinapayagan ng XPointer ang pagkakakonekta ng link sa isang partikular na bahagi ng dokumento ng XML
- Ginagamit ng XPointer ang XPath expression para sa paglalakbay sa dokumento ng XML
- XPointer ay isang rekomendadong pamantayan ng W3C
XPointer Browser Support
Wala ng browser na sumusuporta sa XPointer. Ngunit ginagamit din ang XPointer sa ibang XML wika.
XPointer Example
Sa kasong ito, magiging kaugnay naming gamitin ang XPointer at XLink, na tumututok sa isang partikular na bahagi ng ibang dokumento.
Unang tingnan natin ang layunin na XML dokumento (ang dokumento na naka-link sa aming):
<?xml version="1.0" encoding="UTF-8"?> <dogbreeds> <dog breed="Rottweiler" id="Rottweiler"> <picture url="https://dog.com/rottweiler.gif" /> <history>Ang mga ninuno ng Rottweiler ay marahil ay Romano drover dogs.....</history> <temperament>Matapang, mapanghimagsik, maingat at kahanga-hanga, ang Rottweiler ay isang pinakasininghawang pinili dahil sa kanyang kakayahang protektahan....</temperament> </dog> <dog breed="FCRetriever" id="FCRetriever"> <picture url="https://dog.com/fcretriever.gif" /> <history>Ang isa sa mga pinakamaagang paggamit ng retrieving dogs ay tulong sa pagkuha ng isda mula sa tubig....</history> <temperament>The flat-coated retriever is a sweet, exuberant, isang malakas na aso na mahilig maglaro at makakuha....</temperament> </dog> </dogbreeds>
Maaaring mag-ingat, ang XML dokumento ay gumagamit ng id attribute sa bawat elemento!
Kaya, pinahintulutan ng XPointer na makakonekta sa tiyak na bahagi ng dokumento, hindi lang sa buong dokumento (katulad ng XLink).
Kung gusto mong makakonekta sa tiyak na bahagi ng pahina, magdagdag ng simbolo ng numero na may # at XPointer ekspresyon sa URL sa xlink:href attribute, tulad ng nasundan:
xlink:href="https://dog.com/dogbreeds.xml#xpointer(id('Rottweiler'))"Ang ekspresyon na ito ay tinutukoy sa elemento sa target dokumento na may id na "Rottweiler".
xlink:href="https://dog.com/dogbreeds.xml #xpointer(id('Rottweiler'))"。Ang XPointer ay nagbibigay ng pagkakakonekta gamit ang maikling paraan para sa mga elemento na may id. Maaari mong gumamit ng halaga ng id, tulad ng nasundan:
xlink:href="https://dog.com/dogbreeds.xml#RottweilerAng sumusunod na XML dokumento ay naglalaman ng mga link na nagsasalin sa mas maraming impormasyon tungkol sa bawat uri ng aso:
<?xml version="1.0" encoding="UTF-8"?> <mydogs xmlns:xlink="http://www.w3.org/1999/xlink"> <mydog> <description> Si Anton ang aking paboritong aso. Siya ay nanalo ng maraming..... </description> <fact xlink:type="simple" xlink:href="https://dog.com/dogbreeds.xml#Rottweiler"> Tungkol sa Rottweiler </fact> </mydog> <mydog> <description> Pluto ang pinakamasarap na aso sa mundo...... </description> <fact xlink:type="simple" xlink:href="https://dog.com/dogbreeds.xml#FCRetriever"> Fact tungkol sa flat-coated Retriever </fact> </mydog> </mydogs>
- Nakaraang pahina XML XQuery
- Susunod na pahina Validator ng XML