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
Get XML in a Nutshell, 3rd Edition 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.