これは私のxmlコードの例です:
<db>
<group>
<name>Team1</name>
<set num="1">AAA</set>
<set num="2">BBB</set>
<set num="3">CCC</set>
</group>
<group>
<name>Team2</name>
<set num="1">DDD</set>
<set num="2">AAA</set>
<set num="3">FFF</set>
<set num="4">EEE</set>
</group>
<group>
<name>Team3</name>
<set num="1">AAA</set>
<set num="2">GGG</set>
<set num="3">FFF</set>
</group>
<group>
<name>Team4</name>
<set num="1">BBB</set>
<set num="2">EEE</set>
<set num="3">AAA</set>
</group>
</db>
xslt を使用して、AAA の num が 3 未満のすべてのインスタンスの名前と num を表示するにはどうすればよいので、出力は次のようになります。
<result value="AAA">
<name num="1">Team1</name>
<name num="2">Team2</name>
<name num="1">Team3</name>
</result>
私が使用しようとしているコードは次のとおりです。
...
<xsl:template match="/db">
<result value="AAA">
<xsl:for-each select="group[set/@num < '3' and set='AAA']">
<name num="{@num}">
<xsl:value-of select="name" />
</name>
</xsl:for-each>
</result>
</xsl:template>
しかし、これにより、数値に関係なく「AAA」を含むすべてのグループが得られ、数値は常に「」と表示されます。
私は XSLT を初めて使用するので、助けていただければ幸いです。ありがとう!