サーチ…
備考
 XPath ロケーションパスは、 / characterで区切られた一連のロケーションステップです 。 
step1/step2/step3
  ロケーション・ステップには、 軸 、 ノード・テスト 、およびオプションの述部リストが含まれています 。 軸とノードテストは 、二つのコロン文字によって分離されている:: 。 述部は角カッコで囲まれています。 
axis::nodeTest[predicate1][predicate2]
  ロケーションパスの評価は、式のコンテキストによって与えられるコンテキストノードを含むノードセットから始まり、ロケーションパスが/始まる場合はルートノードから始まります。各ステップで、元のノード集合内の各ノードNは、 
- 与えられた軸に沿って Nから到達することができ、
 - ノードテストと一致し、
 - すべての述語に一致します。
 
ロケーションパス式の結果は、すべてのロケーションステップを処理した後に得られた最終ノードセットです 。
子要素をトラバースする
 child軸を使用してルートノードから子孫要素に移動する: 
/child::html/child::body/child::div/child::span
  child軸がデフォルトの軸であるため、これは省略可能です: 
/html/body/div/span
        すべての子孫をトラバースする
 descendantおよびdescendant-or-self軸は、任意の深さのノードのすべての子孫要素を見つけるために使用できます。これとは対照的に、 child軸にのみ直接の子を横断します。 
/child::html/descendant::span
/child::html/descendant-or-self::*
 ダブルスラッシュ//ショートカットです/descendant-or-self::node()/ 。したがって、次の式は等価です。 
table//td
child::table/descendant-or-self::node()/child::td
child::table/descendant::td
table/descendant::td
        祖先を横断する
 parent軸には、ノードの親だけが含まれます。次の式は、 body要素を迂回してhtml要素を選択します。 
/child::html/child::body/parent::html
  ..はparent::node()ショートカット.. 
 ancestorとancestor-or-self軸は、ノードのすべての祖先を横断します。次の式は、コンテキストノードの祖先であるすべてのdiv要素を返します。 
ancestor::div
        「自己」軸
 self軸には、コンテキストノード自体だけが含まれます。式. self::node()ショートカットであり、常にコンテキストノードに一致します。 .ショートカットはコンテキストノードの子孫を列挙するのに便利です。次の式は等価です。 
.//span
self::node()/descendant-or-self::node()/child::span
descendant::span
  self軸は、XPath 1.0述語で役立ちます。たとえば、コンテキストノードのすべてのh1 、 h2 、およびh3子を選択するには、次のようにします。 
*[self::h1 or self::h2 or self::h3]
        後続ノードと先行ノードを横断する
 following-siblingおよびpreceding-sibling軸には、コンテキストノードの前後にある兄弟が含まれ、 following軸およびpreceding軸には、コンテキストノードの前後にあるドキュメント内のすべてのノードが含まれますが、 
- これらの軸のいずれも属性または名前空間ノードを含んでいません。
 -  
following軸には子孫が含まれていません。 -  
preceding軸には祖先は含まれていません。 
例:
following::span[1]
following-sibling::*[last()]
        属性および名前空間ノードのトラバース
 attributeおよびnamespace軸には、要素のすべての属性および名前空間ノードが含まれます。ショートカット@はattribute::略語なので、以下は同じです: 
child::div/attribute::class
div/@class