ドキュメントでユニークなノードを選択することについて話し合っていますが、私の場合はキーを使用できません。どのように)私はノードのセットで作業しているので、ドキュメント上ではありません。XSL:ノードセット内のユニークなノードを選択する方法
ノードセットでキーを設定することはできません。基本的に私は、変数を持っている:
<deviceInstance name="Demux TSchannel" deviceIndex="0">
<structure name="DemuxTschannelCaps">
</structure>
</deviceInstance>
<deviceInstance name="Demux TSchannel" deviceIndex="1">
<structure name="DemuxTschannelCaps">
</structure>
</deviceInstance>
<deviceInstance name="Demux TSchannel" deviceIndex="3">
<structure name="otherCaps">
</structure>
</deviceInstance>
そして、私はその<structure>
要素を選択するのか分からない:
<xsl:variable name="limitedSet" select="
$deviceInstanceNodeSet[position() <= $tableMaxCol]"
/>
自体が<structure>
要素 ノードセットを含む<deviceInstance>
ノードは、このように表現することができるが含まれています異なる名前しか持っていない。 $limitedSet
を
<structure name="DemuxTschannelCaps"></structure>
<structure name="otherCaps"></structure>
私は
select="$limitedSet//structure[not(@name=preceding::structure/@name)]"
を試してみましたが、前の軸はすべて文書に沿って行くといない:これを選択すると、この例にある、2つの<structure>
の要素を返すでしょうか?
私は立ち往生しています、誰かが私を助けることができます。ありがとうございました。
これは次のとおりです。
あなたの入力に応じて、キーがいくつかの追加のコンテキスト情報を取得する必要があります私の一日を節約するすばらしい答え、そのすばやい返事に感謝します。このサイトは素晴らしく、この回答にランク付けするために登録します。 Tahnkはあなたです。 SeB。 – SeB
私はあなたの重要な提案を考えましたが、複数のデバイスの中に単一の構造体が必要であり、あなたの提案は単一のデバイスに対してのみ機能するため、これは機能しません。 – SeB
@ SeB:あなたが何を意味するのかわかりません - 私の提案(少なくとも2番目のバージョンのキー)は複数のデバイスで動作します。もちろん、実際のXMLに "使用"式を適合させる必要がありますが、不可能ではありません。 – Tomalak