XPointer is a system for addressing components of XML-based Internet media. It is divided among four specifications: a "framework" that forms the basis for identifying XML fragments, a positional element addressing scheme, a scheme for namespaces, and a scheme for XPath-based addressing. XPointer Framework is a W3C recommendation since March 2003.[3][5]

XPointer
XPointer Framework
Native name
XPointer Framework
StatusW3C Recommendation
Year started1997; 27 years ago (1997)
First publishedApril 6, 1997; 27 years ago (1997-04-06)[1][2]
Latest versionXPointer Framework Recommendation[3]
March 25, 2003; 21 years ago (2003-03-25)[3]
OrganizationW3C
CommitteeW3C XML Linking Working Group[4]
Editors
  • Paul Grosso
  • Eve Maler
  • Jonathan Marsh
  • Norman Walsh
[3]
Base standardsXML, XPath
Websitewww.w3.org/TR/xptr-framework/

The XPointer language is designed to address structural aspects of XML, including text content and other information objects created as a result of parsing 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 technology patent held by Sun Microsystems.[6]

Positional element addressing

edit

The element() 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:

<foobar id="foo">
  <bar/>
  <baz>
    <bom a="1"/>
  </baz>
  <bom a="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))

See also

edit

References

edit
  1. ^ "XPointer Framework Publication History - W3C". W3C. n.d. Retrieved 2021-04-08.
  2. ^ Bray, Tim; DeRose, Steve, eds. (1997-04-06). "Extensible Markup Language (XML): Part 2. Linking Version 1.0". W3C. Retrieved 2021-04-08.
  3. ^ a b c d Grosso, Paul; Maler, Eve; Marsh, Jonathan; Walsh, Norman, eds. (2003-03-25). "XPointer Framework". W3C. W3C. Retrieved 2021-04-08.
  4. ^ "W3C XML Pointer, XML Base and XML Linking". W3C. 2000. Archived from the original on 2021-03-25. Retrieved 2021-04-08.
  5. ^ Bikakis N.; Tsinaraki C.; Gioldasis N.; Stavrakantonakis I.; Christodoulakis S. "The XML and Semantic Web Worlds: Technologies, Interoperability and Integration. A survey of the State of the Art" (PDF). Archived from the original (PDF) on 2019-10-26. Retrieved 2021-04-08.
  6. ^ Daniel, Ron (2002-06-10). "XPointer Patent Statements". www.w3.org. Retrieved 2021-04-08.
  7. ^ Grosso, Paul; Maler, Eve; Marsh, Jonathan; Walsh, Norman, eds. (2003-03-23). "XPointer element() Scheme". W3C. W3C. Retrieved 2021-04-08.
edit