Professional Documents
Culture Documents
What is XLink?
• XLink is short for the XML Linking Language
• XLink is a language for creating hyperlinks in XML documents
• XLink is similar to HTML links - but it is a lot more powerful
• ANY element in an XML document can behave as an XLink
• XLink supports simple links (like HTML) and extended links (for linking multiple resources together)
• With XLink, the links can be defined outside of the linked files
• XLink is a W3C Recommendation
What is XPointer?
XPointer is short for the XML Pointer Language
• XPointer allows the hyperlinks to point to specific parts of the XML document
• XPointer uses XPath expressions to navigate in the XML document
• XPointer is a W3C Recommendation
• XLink and XPointer are W3C Recommendations
The XML Linking Language (XLink) became a W3C Recommendation 27. June 2001.
The XML Pointer Language (XPointer) became a W3C Recommendation 25. March 2003.
Below is a simple example of how to use XLink to create links in an XML document:
<?xml version="1.0"?>
<homepages xmlns:xlink="http://www.w3.org/1999/xlink">
<homepage xlink:type="simple"
xlink:href="http://www.w3schools.com">Visit W3Schools</homepage>
<homepage xlink:type="simple"
xlink:href="http://www.w3.org">Visit W3C</homepage>
</homepages>
To get access to the XLink attributes and features we must declare the XLink namespace at the top of the
document.
1
The XLink namespace is:
"http://www.w3.org/1999/xlink".
The xlink:type and the xlink:href attributes in the <homepage> elements define that the type and href
attributes come from the xlink namespace.
The xlink:type="simple" creates a simple, two-ended link (means "click from here to go there"). We will look
at multi-ended (multidirectional) links later.
XPointer Syntax
In HTML, we can create a hyperlink that either points to an HTML page or to a bookmark inside an HTML
page (using #).
Sometimes it is more useful to point to more specific content. For example, let's say that we want to link to
the third item in a particular list, or to the second sentence of the fifth paragraph. This is easy with XPointer.
If the hyperlink points to an XML document, we can add an XPointer part after the URL in the xlink:href
attribute, to navigate (with an XPath expression) to a specific place in the document.
For example, in the example below we use XPointer to point to the fifth item in a list with a unique id
of "rock":
href=http://www.example.com/cdlist.xml#id('rock').child(5,item)
XLink Example
Let's try to learn some basic XLink syntax by looking at an example.
Look at the following XML document, "bookstore.xml", that represents a few books:
<?xml version="1.0" encoding="ISO-8859-1"?>
<bookstore xmlns:xlink="http://www.w3.org/1999/xlink">
<book title="Harry Potter">
<description
xlink:type="simple"
xlink:href="http://book.com/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="http://book.com/images/XQuery.gif"
xlink:show="new">
XQuery Kick Start delivers a concise introduction
to the XQuery standard.......
</description>
</book>
</bookstore>
2
resource should be processed inline within the page. When you consider that this could be another XML
document and not just an image, you could, for example, build a hierarchy of XML documents.
With XLink, you can also specify WHEN the resource should appear. This is handled by the xlink:actuate
attribute. xlink:actuate="onLoad" specifies that the resource should be loaded and shown when the
document loads. However, xlink:actuate="onRequest" means that the resource is not read or shown before
the link is clicked. This is very handy for low-bandwidth settings.
XPointer Example
Let's try to learn some basic XPointer syntax by looking at an example.
XPointer Example
In this example, we will show you how to 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 going to link to).
The target XML document is called "dogbreeds.xml" and it lists a few different dog breeds:
<?xml version="1.0" encoding="ISO-8859-1"?>
<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>
The following XML document refers to information of the dog breed for each of my dogs :-), all
through XLink and XPointer references:
<?xml version="1.0" encoding="ISO-8859-1"?>
<mydogs xmlns:xlink="http://www.w3.org/1999/xlink">
<mydog xlink:type="simple"
xlink:href="http://dog.com/dogbreeds.xml#Rottweiler">
<description xlink:type="simple"
xlink:href="http://myweb.com/mydogs/anton.gif">
Anton is my favorite dog. He has won a lot of.....
</description>
</mydog>
<mydog xlink:type="simple"
xlink:href="http://dog.com/dogbreeds.xml#FCRetriever">
3
<description xlink:type="simple"
xlink:href="http://myweb.com/mydogs/pluto.gif">
Pluto is the sweetest dog on earth......
</description>
</mydog>
</mydogs>
XLink Summary
This tutorial has taught you a standard way of creating hyperlinks in XML documents.
You have learned that linking in XML is divided into two parts: XLink and XPointer.
XLink defines a standard way of creating hyperlinks in XML documents and XPointer allows the hyperlinks
to point to more specific parts (fragments) in the XML document.
For more information on XLink, please look at our XLink Reference.
XLink Reference
XLink Attribute Reference
Attribute Value Description
xlink:actuate onLoad Defines when the linked resource is read and shown
onRequest
other
none
xlink:href URL The URL to link to
By: DataIntegratedEntity22592
Source: http://w3schools.com/xlink/default.asp