| XPointer | |
|---|---|
| XPointer Framework | |
| Native name | XPointer Framework |
| Status | W3C Recommendation |
| Year started | 1997; 29 years ago (1997) |
| First published | April 6, 1997; 28 years ago (1997-04-06)[1][2] |
| Latest version | XPointer Framework Recommendation[3] March 25, 2003; 22 years ago (2003-03-25)[3] |
| Organization | W3C |
| Committee | W3C XML Linking Working Group[4] |
| Editors |
|
| Base standards | XML,XPath |
| Website | www |
XPointer is a system for addressing components ofXML-basedInternet media. It is divided among four specifications: a "framework" that forms the basis for identifying XML fragments, a positional element addressing scheme, a scheme fornamespaces, and a scheme forXPath-based addressing. XPointer Framework is aW3C recommendation since March 2003.[3][5]
The XPointer language is designed to address structural aspects of XML, including text content and other information objects created as a result ofparsing the document. Thus, it could be used to point to a section of a document highlighted by a user through a mouse drag action.
During development, and until 2016, XPointer was covered by a royalty-free technologypatent held bySun Microsystems.[6]
Theelement() scheme[7] introduces positional addressing of child elements. This is similar to a simple XPath address, but subsequent steps can only be numbers representing the position of a descendant relative to its branch on the tree.
For instance, given the following fragment:
<foobarid="foo"><bar/><baz><boma="1"/></baz><boma="2"/></foobar>
results as the following examples:
xpointer(id("foo")) => foobar xpointer(/foobar/1) => bar xpointer(//bom) => bom (a=1), bom (a=2) element(/1/2/1) => bom (a=1) (/1 descend into first element (foobar), /2 descend into second child element (baz), /1 select first child element (bom))