||This see talk page. needs use-cases, examples may require cleanup to meet Wikipedia's quality standards. (February 2011)|
XPointer is a system for addressing components of XML based internet media.
XPointer is divided among four specifications: a "framework" which 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 recommendation since March 2003.
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.
Positional Element Addressing 
element() scheme 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 
- XPointer Framework
- Positional element addressing
- Path based addressing
- XPointer patent terms and conditions
- Open source implementation (CognitiveWeb)
- GPL License .NET implementation (XInclude.NET)