以下のサンプルをご覧ください。
<div class="patent_bibdata">
<b> First list</b>
<a href="1"> Name #1</a>
<a href="2"> Name #2</a>
<b> Second list</b>
<a href="1"> Name #2_1</a>
<a href="2"> Name #2_2</a>
</div>
ここで、「最初のリスト」というテキストを持つ「b」要素の後のリンクを抽出したい-しかし、「2番目のリスト」というテキストを持つ「b」要素の後のリンクとリンクの数は必要ない「最初のリスト」の後は私にはわかりません。
私が考えたのは、このようなものです -
....XQuery code defining the document as variable named "doc"
let $list:= $doc/div[ @class="patent_bibdata"]/b[. = 'First list']/following-sibling::text() -- but this should get everything after 'First list'-- including 'Second List' and 'Name #2_1' and 'Name #2_2'
さて、2 つの 'b' タグのテキスト (つまり、この例では 'Name #1' と 'Name #2') だけが私に知られているので、どうにかして条件を付けてリンクを取得する必要があると思います。 (私が必要とする)、それらのリンクの直前の兄弟と直後の兄弟に条件を付けます---それらの条件を設定するコマンドは何ですか(これまでのところ正しい場合)?私が正しくない場合、そのリンクのセットを取得するにはどうすればよいですか?