ノードセット内の別個のノード(属性値に基づく)についてもう一度説明します。XSLTノードセットの異なる値
<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/>
は同じ<a/>
を継承<b/>
のような複数の要素を含んでいてもよい: は、uは次のような構造を持っている想像してみてください。同時に、<a/>
のような複数の要素が許可されます。 <a/>
sおよび<b/>
sの順序は任意である。継承は、単一レベルの深さです。
質問:与えられた<b/>
ため、次のノードセットを選択単一 XPathを作成する方法:
<x id="1">a_1</x>
<x id="2">b_2</x>
<x id="3">a_3</x>
が2行目b_2
値に注意してください。
これに対する解決策はありますか?
更新:
resutingのXPathは次の形式有するべきである:b[(magic_xpath)[@id=2]='b_2']
、magic_xpath
が<a/>
<b/>
sおよびSから別個<x/>
Sを選択します。
<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>
更新の意味が明らかではありません。何が結果でなければならないのでしょうか?また、あなたのアップデートのすべての 'x'要素が既に別個の値を持っているときに、「別個の' 」が必要なのはなぜですか? –