XPointer Example

From http://www.w3schools.com (Copyright Refsnes Data)

# 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

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>

View the "dogbreeds.xml" file in your browser

Note that the XML document above uses id attributes on each element we may want to link to!

## The Linking XML Document

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 attributes.

The expression: #xpointer(id("Rottweiler")) refers to the element in the target document, with the id value of "Rottweiler".

So the xlink:href attribute would look like this: xlink:href="http://dog.com/dogbreeds.xml#xpointer(id('Rottweiler'))"

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

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">
      <description xlink:type="simple"
      xlink:href="http://myweb.com/mydogs/pluto.gif">
      Pluto is the sweetest dog on earth......
      </description>
    </mydog>

    </mydogs>

From http://www.w3schools.com (Copyright Refsnes Data)