このselect
属性は、変数の値が XPath 式によって決定される必要があることを示します。
はdocument('ProductList.xml')
、「ProductList.xml」という名前のファイルをロードして、XPath 選択を実行します。
この/node()[1]/node()[2]/node()[2]/node()[2]
部分は、1 番目の要素の 2 番目の子の 2 番目の子の 2 番目の子を選択する必要があることを意味します。つまり、ProductList.xml が次のようになっているとします。
<a> <!-- /node()[1] -->
<b> <!-- /node()[1]/node()[1] -->
<c /> <!-- /node()[1]/node()[1]/node()[1] -->
<d /> <!-- /node()[1]/node()[1] -->
</b>
<e> <!-- /node()[1]/node()[2] -->
<f /> <!-- /node()[1]/node()[2]/node()[1] -->
<g> <!-- /node()[1]/node()[2]/node()[2] -->
<h /> <!-- /node()[1]/node()[2]/node()[2]/node()[1] -->
<i /> <!-- /node()[1]/node()[2]/node()[2]/node()[2] -->
</g>
</e>
</a>
次に、その XPath<i>
は、 の 2 番目の子である ノードを選択します。これは の 2 番目の子であり<g>
、<e>
の 2 番目の子で<a>
あり、最初の (そして唯一の) ルート要素です。