Jump to content

XPointer

From Wikipedia, the free encyclopedia
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
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/

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]

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

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

References

  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.