XPointer Example
Let's learn some basic XPointer syntax by studying an example.
XPointer Examples
In this example, we will show you how to use XPointer combined with XLink to point to a specific part of another document.
We will start by studying the target XML document (the document we want to link to).
Target XML Document
The target XML document is called "dogbreeds.xml" and it lists some different dog breeds:
<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>
View in your browser"dogbreeds.xml" file。
Note that the XML document above uses the id attribute on each element we want to link to!
XML Linking Document
Not only can you link to an entire document (when using XLink), XPointer allows you to link to a specific part of a document. To link to a specific part of a page, add a hash sign (#) and an XPointer expression after the URL in the xlink:href attribute.
Expression:#xpointer(id("Rottweiler"))Refers to the element with the id value "Rottweiler" in the target document.
Therefore, the xlink:href attribute will look like this:xlink:href="http://dog.com/dogbreeds.xml#xpointer(id('Rottweiler'))"
However, when linking to an element using an id, XPointer allows a shorthand form. You can directly use the value of the id, like this:xlink:href="http://dog.com/dogbreeds.xml#Rottweiler"。
The following XML document references each dog's breed information, all via XLink and XPointer:
<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">
<description xlink:type="simple"
xlink:href="http://myweb.com/mydogs/pluto.gif">
Pluto is the sweetest dog on earth......
</description>
</mydog>
</mydogs>