//

//

[1]XPath descendant-or-self は、その及びその子孫節をあらわしまず。 この軸は順軸です。

本項は歴史的事項を説明しています。本項の内容の一部または全部は、現在の状況とは異なるかもしれません。

(なお本項の内容の一部または全部は、互換性または歴史的連続性のために現在も有効な場合もあります。しかし新たに利用することは避けるべきです。)

目次

  1. 省略形 //

省略形 //#

[2] /descendant-or-self::node()/ は、略して // と書くことが出来ます。 <http://www.w3.org/TR/xpath#path-abbrev>

[3] 例えば、 //child:p は、 /descendant-or-self::node()/child:p です。文脈節からみて、 文脈節自身か、その子孫節である p 要素が選択されます。

<root>
  <p id="p1">
    <foo>
      <p id="p2"/>
    </foo>
  </p>
  <p id="p3"/>
  <bar><p id="p4"/></bar>
  <p id="p5"/>
</root>

この例では、要素 p1p5 がこの順に結果節集合に入ります。

[4] 仕様書にもありますが、 //child:p/descendant:p の省略ではないのに注意が必要です。 この違いは述部を使って濾過する時に重要になります。

//child:p[2] {p3} が、 /descendant:p[2] {p2} が結果になります。