Child Sequences
Another very common form of XPointer is one that
descends exclusively along the child axis, selecting elements by their
positions relative to their siblings. For example, xpointer(/child::*[position( ) = 1]/child::*[ position( ) = 2]/child::*[position( ) = 3])
selects the third child element of the second child element of the
root element of the document. The element(
) scheme allows you to abbreviate this syntax by
providing only the numbers of the child elements separated by forward
slashes. This is called a child sequence
. For example, the previous XPointer could be rewritten
using the element scheme in the
much more compact form element(/1/2/3).
For example, the aforementioned Motivation and Summary section
of the “Namespaces in XML” recommendation at http://www.w3.org/TR/1999/REC-xml-names-19990114/xml-names.xml
is given as a div element. It so
happens that this div element is
the first child element of the second child element of the root
element. Therefore,
http://www.w3.org/TR/1999/REC-xml-names-19990114/xml-names.xml#element(/1/2/1)
points to this section.
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