ノード セット内の個別のノード (属性値に基づく) についてもう一度説明します。次の構造があるとします。
<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_22 行目の値に注意してください。
これに対する解決策はありますか?
アップデート:
復元する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>