XPointer

XPointer は、XMLベースのインターネット媒体のコンポーネントのアドレス指定を行う体系である。

XPointer は次の4つの仕様から構成される。
 Framework - XMLフラグメントを指し示すための基本仕様
 element() Scheme - 構成要素の位置を指定するスキーム
 xmlns() Scheme - 名前空間のプレフィックスを正しく解釈するスキーム
 xpointer() Scheme - XPathベースのアドレス指定スキーム
「XPointer Framework」「XPointer element() Scheme」「XPointer xmlns() Scheme」は2003年3月にW3C勧告となった。一方、「XPointer xpointer() Scheme」は2009年11月現在、まだワーキングドラフトである。

XPointer言語はXMLの構造的側面に対応するよう設計されており、テキストの中身や文書の構文解析の結果として生成される情報オブジェクトを扱う。したがって、例えばユーザーがマウスをドラッグして指定した文書の一部分を指すのにも使える。

XPointer はサン・マイクロシステムズが特許を有する技術でカバーされており、ロイヤリティフリーである。

位置による要素指定 
element() スキームは子要素の位置指定を行う。これは単純なXPathアドレスに似ているが、後のステップは構文木上のその枝からの相対的な位置を表す数だけでも指定できる。

例えば、次のような断片があるとする。

<foobar id="foo">
  <bar/>
  <baz>
    <bom a="1"/>
  </baz>
  <bom a="2"/>
</foobar>

これについて次のように指定することができる。

  xpointer(id("foo")) => foobar
  xpointer(/foobar/1) => bar
  xpointer(//bom) => bom (a=1), bom (a=2)
  element(/1/2/1) => bom (a=1)

最後の例は、第一要素 (foobar) をまず選び、次の第二子要素 (baz) を選び、最後に第一子要素 (bom) を選ぶことを意味する。

関連項目 
 XML
 HTML

脚注

外部リンク
XPointer Framework
XPointer element() Scheme
XPointer xmlns() Scheme
XPointer xpointer() Scheme
XPointer patent terms and conditions
CognitiveWeb オープンソース実装
XInclude.NET .NET向け実装（GPLライセンス）

W3C勧告
XML