XPointers in Links
Obviously, what an XPointer points to depends on which document it’s
applied to. This document is specified by the URL that the XPointer is
attached to. For example, if you wanted a URL that pointed to the
first name
element in the document
at http://example.org/people.xml, you would
type:
http://example.org/people.xml#xpointer(//name[position( )=1])
If the XPointer uses any characters that are not allowed in
URIs—for instance, the less than sign <
, the double quotation mark “, or
non-ASCII letters like é
—then these
must be hexadecimally escaped as specified by the URI
specification before the XPointer is attached to the URI. That is,
each such character is replaced by a percent sign followed by the
hexadecimal value of each byte in the character in the UTF-8 encoding
of Unicode. Thus, <
would be written as %3C
, " would be written as %22
, and é
would be written as %C3%A9
.
In HTML, the URLs used in a
elements can contain an XPointer fragment identifier. For
example:
<a href = "http://www.example.org/people.xml#xpointer(//name[1])"> The name of a person </a>
If a browser followed this link, it would likely load
the entire document at
http://www.example.org/people.xml and then scroll
the window to the beginning of the first name
element in the document. However, no
browsers yet support the XPointer xpointer
scheme, so the exact behavior is open for debate. In some situations it might make sense for the browser to show only the specific element node(s) the XPointer ...
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.