ノード セット内の個別のノード (属性値に基づく) についてもう一度説明します。次の構造があるとします。
<struct>
<a>
<x id="1">a_1</x>
<x id="2">a_2</x>
<x id="3">a_3</x>
</a>
<b inherits="a">
<x id="2">b_2</x>
</b>
</struct>
<struct/>
<b/>
には、同じ を継承するような複数の要素が含まれる場合があります<a/>
。同時に、 のような複数の要素<a/>
が許可されます。<a/>
s とs の順序<b/>
は任意です。継承は単一レベルの深さです。
質問: 特定のノードセットに対して次のノードセットを選択する単一のXPathを作成する方法<b/>
:
<x id="1">a_1</x>
<x id="2">b_2</x>
<x id="3">a_3</x>
b_2
2 行目の値に注意してください。
これに対する解決策はありますか?
アップデート:
復元するXPathは次の形式にする必要がb[(magic_xpath)[@id=2]='b_2']
あります。magic_xpath
<x/>
<a/>
<b/>
実際の生活<struct/>
は次のようになります。
<struct>
<a>
<x id="1">a_1</x>
<x id="2">a_2</x>
<x id="3">a_3</x>
</a>
<b inherits="a">
<x id="2">I don't match resulting XPath</x>
</b>
<b inherits="a">
<x id="2">b_2</x>
</b>
</struct>