origin( )
The origin( ) function is useful when the document has been loaded
from an out-of-line link. It refers to the node from which the user
is initiating traversal, even if that is not the node that defines
the link. For example, consider an extended link like this one. It
has many novel elements, each of
which is a locator that shares the same label:
<series xlink:type="extended" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- locator elements -->
<novel xlink:type="locator" xlink:label="oz"
xlink:href="ftp://archive.org/pub/etext/etext93/wizoz10.txt">
<title>The Wonderful Wizard of Oz</title>
<year>1900</year>
</novel>
<novel xlink:type="locator" xlink:label="oz"
xlink:href="ftp://archive.org/pub/etext/etext93/ozland10.txt">
<title>The Marvelous Land of Oz</title>
<year>1904</year>
</novel>
<novel xlink:type="locator" xlink:label="oz"
xlink:href="ftp://archive.org/pub/etext/etext93/wizoz10.txt">
<title>Ozma of Oz</title>
<year>1907</year>
</novel>
<!-- many more novel elements... -->
<sequel xlink:type="locator" xlink:label="next"
xlink:href="#xpointer(origin( )/following-sibling::novel[1])" />
<next xlink:type="arc" xlink:from="oz" xlink:to="next" />
</series>The sequel element uses an
XPointer and the origin( )
function to define a locator that points to the following novel in the series. If the user is
reading The Wonderful Wizard of Oz, then the
sequel element locates
The Marvelous Land of Oz. If the user is
reading The Marvelous Land of Oz, then that
same sequel
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access