3.3. XPointer: An XML Tree Climber

The last piece of the resource identification puzzle is XPointer, officially known as the XML Pointer Language. XPointer is a special extension to a URL that allows it to reach points deep inside any XML document. To understand how XPointer works, let's first look at its simpler cousin, the fragment identifier. The fragment identifier is a mechanism used by HTML links to connect to a specific point in an HTML file. It connects to the end of a URL, and is separated from the URL by a hash symbol (#):

<a href="http://www.someplace.com/takeme/toyour/leader.html#earthling">

In this example, <a> is the linking element. The word to the right of the hash symbol, earthling, extends the URL so that it points to a location inside the file leader.html. The link finds its target if the file contains a marker of the form:

<a name="earthling">

The XML equivalent of the fragment identifier is an XPointer, inheriting its name from the W3C recommendation for extending URLs in XML links. Like the fragment identifier, the XPointer is joined to the right side of a URL by a hash symbol:


In the simplest case, an XPointer works just like a fragment identifier, linking to an element inside the target resource with an ID attribute. However, an XPointer is more flexible because its target can be any element. Unlike HTML, where the target is always an <A> element, the target of an XPointer can be any element with an attribute of type ID whose value matches ...

Get Learning XML now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.