同様の子要素を持つ複数の同様の要素を持つxmlファイルがあります。例えば
<root>
<elem>
<condition>A</condition>
<value>111</value>
</elem>
<elem>
<condition>B</condition>
<value>555</value>
</elem>
<elem>
<condition>A</condition>
<value>222</value>
</elem>
</root>
これらの要素の 1 つに、xsl で抽出する必要がある値が含まれています。値は、要素の子ノードの別の要素に記述された条件によって識別される必要があります。条件が「B」で、その要素の値「555」が必要だとしましょう。
私が使用するxmlエディターXPathで正しい値を取得する方法を知っています(Rinzo - Eclipse)=>
/root/elem[condition='B']/value
しかし、xslで値を取得しようとすると、(任意の)値を取得できません=>
<xsl:value-of select="/root/elem[condition='B']/value"/>
xsl の値は単一の要素になるため、for-each ループは使用できません。元の xml の形式が正しくありませんが、私はそれを助けることはできません。
問題は、xsl:value-of を使用して、xsl ファイルでその値を取得するにはどうすればよいかということです。