この XML を考えると
<ContentBlock>
<Content>
<QuickStatus Balance="0" Credits="0" Trolley="600" Delivery="100" Available="-700" Pending="0" />
<TrolleyItems>
<TrolleyItem Description="Test Item 1" value="150" />
<TrolleyItem Description="Test Item 2" value="150" />
<TrolleyItem Description="Test Item 3" value="300" />
</TrolleyItems>
</Content>
</ContentBlock>
各トロリー アイテムの値属性が 800 未満かどうかを確認し、少なくとも 1 つのアイテムが 800 未満である場合は最終配送属性を表示する必要があります。ただし、配送値を表示する必要があるのは 1 回だけです。
私の XSLT .xsl ファイル コードは次のようになります。
<xsl:for-each select="Content/TrolleyItems/TrolleyItem">
<xsl:if test="ContentBlock/Content/TrolleyItems/TrolleyItem/@value < 800">
<tr style="border-bottom: 1px dashed #000;">
<xsl:for-each select="Content/Final">
<td>Delivery Fee</td><td><xsl:value-of select="@Delivery"/></td>
</xsl:for-each>
</tr>
</xsl:if>
</xsl:for-each>
必要なのは、@Delivery 属性の 1 つのアイテムを出力することです。
1 回だけ表示されます。たとえば、「配送費用: 100」という回答が表示されます。そのため、アイテムの値が 800 未満の場合にのみ配送料が請求されます
![ここに画像の説明を入力][1]
助けてくれてありがとう。