Tutorials 参考 练习 Menu
Paid Courses

XML 教程

XML主页 XML简介 XML使用方法 XML Tree XML语法 XML元素 XML属性 XML命名空间 XML显示 XML HttpRequest XML解析器 XML DOM XML XPath XML XSLT XML XQuery XML XLink XML验证器 XML DTD XML模式 XML服务器 XML 示例 XML 测试 XML 证书

XML AJAX

AJAX简介 AJAX XMLHttp AJAX请求 AJAX响应 AJAX XML文件 AJAX PHP AJAX ASP AJAX数据库 AJAX应用程序 AJAX 示例

XML DOM

DOM简介归纳 DOM节点 DOM访问 DOM节点信息 DOM节点列表 DOM遍历 DOM导航 DOM获取价值 DOM变更节点 DOM删除节点 DOM替换节点 DOM创建节点 DOM添加节点 DOM克隆节点 DOM 示例

XPath 教程

XPath简介 XPath节点 XPath语法 XPath轴 XPath运算子 XPath 示例

XSLT 教程

XSLT简介 XSL语言 XSLT转换 XSLT <template> XSLT <value-of> XSLT <for-each> XSLT <sort> XSLT <if> XSLT <choose> XSLT申请 客户端上的XSLT 服务器上的XSLT XSLT编辑XML XSLT 示例

XQuery 教程

XQuery简介 XQuery示例 XQuery FLWOR XQuery HTML XQuery条款 XQuery语法 XQuery添加 XQuery选择 XQuery函数

XML DTD

DTD简介 DTD构建基块 DTD元素 DTD属性 DTD元素 vs Attr DTD实体 DTD 示例

XSD Schema

XSD简介 XSD如何 XSD <schema> XSD元素 XSD属性 XSD限制

XSD Complex

XSD元素 XSD Empty XSD元素 Only 仅限XSD文字 XSD混合 XSD指标 XSD <any> XSD <anyAttribute> XSD替代 XSD示例

XSD Data

XSD字串 XSD日期 XSD数值 XSD杂项 XSD 参考

Web Services

XML服务 XML WSDL XML SOAP XML RDF XML RSS

参考

DOM节点类型 DOM节点 DOM节点List DOM NamedNodeMap DOM文档 DOM元素 DOM属性 DOM文字 DOM CDATA DOM评论 DOM XMLHttpRequest DOM解析器 XSLT元素 XSLT / XPath函数

XML, XLink and XPointer


XLink is used to create hyperlinks in XML documents.


XPath
  • XLink is used to create hyperlinks within XML documents
  • Any element in an XML document can behave as a link
  • With XLink, the links can be defined outside the linked files
  • XLink is a W3C Recommendation

XLink Browser Support

There is no browser support for XLink in XML documents.

However, all major browsers support XLinks in SVG.


XLink Syntax

In HTML, the <a> element defines a hyperlink. However, this is not how it works in XML. In XML documents, you can use whatever element names you want - therefore it is impossible for browsers to predict what link elements will be called in XML documents.

Below is a simple example of how to use XLink to create links in an XML document:

<?xml version="1.0" encoding="UTF-8"?>

<homepages xmlns:xlink="http://www.w3.org/1999/xlink">
  <homepage xlink:type="simple" xlink:href="https://booksky.99lb.net">Visit W3Schools</homepage>
  <homepage xlink:type="simple" xlink:href="http://www.w3.org">Visit W3C</homepage>
</homepages>

To get access to the XLink features we must declare the XLink namespace. The XLink namespace is: "http://www.w3.org/1999/xlink".

The xlink:type and the xlink:href attributes in the <homepage> elements come from the XLink namespace.

The xlink:type="simple" creates a simple "HTML-like" link (means "click here to go there").

The xlink:href attribute specifies the URL to link to.


XLink Example

The following XML document contains XLink features:

<?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>

Example explained:

  • The XLink namespace is declared at the top of the document (xmlns:xlink="http://www.w3.org/1999/xlink")
  • The xlink:type="simple" creates a simple "HTML-like" link
  • The xlink:href attribute specifies the URL to link to (in this case - an image)
  • The xlink:show="new" specifies that the link should open in a new window


XLink - Going Further

In the example above we have demonstrated simple XLinks. XLink is getting more interesting when accessing remote locations as resources, instead of standalone pages.

If we set the value of the xlink:show attribute to "embed", the linked resource should be processed inline within the page. When you consider that this could be another XML document you could, for example, build a hierarchy of XML documents.

You can also specify WHEN the resource should appear, with the xlink:actuate attribute.


XLink Attribute 参考

Attribute Value Description
xlink:actuate onLoad
onRequest
other
none
Defines when the linked resource is read and shown:
  • onLoad - the resource should be loaded and shown when the document loads
  • onRequest - the resource is not read or shown before the link is clicked
xlink:href URL Specifies the URL to link to
xlink:show embed
new
replace
other
none
Specifies where to open the link. Default is "replace"
xlink:type simple
extended
locator
arc
resource
title
none
Specifies the type of link

XPointer

XPath
  • XPointer allows links to point to specific parts of an XML document
  • XPointer uses XPath expressions to navigate in the XML document
  • XPointer is a W3C Recommendation

XPointer Browser Support

There is no browser support for XPointer. But XPointer is used in other XML languages.


XPointer Example

In this example, we will use XPointer in conjunction with XLink to point to a specific part of another document.

We will start by looking at the target XML document (the document we are linking to):

<?xml version="1.0" encoding="UTF-8"?>

<dogbreeds>

<dog breed="Rottweiler" id="Rottweiler">
  <picture url="https://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="https://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>

Note that the XML document above uses id attributes on each element!

So, instead of linking to the entire document (as with XLink), XPointer allows you to link to specific parts of the document. To link to a specific part of a page, add a number sign (#) and an XPointer expression after the URL in the xlink:href attribute, like this: xlink:href="https://dog.com/dogbreeds.xml#xpointer(id('Rottweiler'))". The expression refers to the element in the target document, with the id value of "Rottweiler".

XPointer also allows a shorthand method for linking to an element with an id. You can use the value of the id directly, like this: xlink:href="https://dog.com/dogbreeds.xml#Rottweiler".

The following XML document contains links to more information of the dog breed for each of my dogs:

<?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="https://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="https://dog.com/dogbreeds.xml#FCRetriever">
  Fact about flat-coated Retriever
  </fact>
</mydog>

</mydogs>




W3Schools is optimized for learning and training. 示例 might be simplified to improve reading and learning. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. While using W3Schools, you agree to have read and accepted our terms of use, cookie and privacy policy.

Copyright 1999-2021 by Refsnes Data. All Rights Reserved.
W3Schools is Powered by W3.CSS.