我有一个类似于:
的XML元素<account year="2010">
<paymentDue>
<amount>0</amount>
</paymentDue>
<paymentDue>
<amount>752.00</amount>
</paymentDue>
</account>
我正在显示按年份分组的帐户,而我正在使用<xsl:choose>
方法说明金额&gt; 0,显示一个make支付链接。但是,我只能通过付款实现这一目标。如果任何付款到期金额大于0,我想显示年度的付款链接。
如何实现这一点的任何意见将不胜感激。
答案 0 :(得分:3)
喜欢这个吗?
<xsl:template match="account">
<xsl:if test="paymentDue[number(amount) > 0]">
<!-- display payment link -->
</xsl:if>
</xsl:template>
XPath表达式paymentDue[number(amount) > 0]
选择<paymentDue>
大于0的任何<amount>
节点。<xsl:if>
测试成功时会导致非空节点集(即当至少有一个节点满足条件时。)
答案 1 :(得分:1)
试试这个:
account[paymentDue/amount[text() > 0]]
即,“获取至少有一个支付节点的所有帐户节点,该节点至少有一个金额节点,其中文本大于0”。
不会捕获错误,比如输入非数字值,但这只是一个开始。