我需要在XSLT中验证Invoice元素的值:缺少元素=默认为1(工作)...空白=默认为1(工作)...但是2或字符串中的任何数字都不起作用,因为它会一直回到1。
<xsl:template match="Transaction" >
<Transaction invoice="{Invoice}">
<xsl:attribute name="invoice">
<xsl:choose>
<xsl:when test="@Invoice and (@Invoice!='') and (@Invoice!='0')">
<xsl:value-of select="@Invoice"/></xsl:when>
<xsl:otherwise>1</xsl:otherwise>
</xsl:choose>
</xsl:attribute>
</xsl:template>
希望得到你的帮助。非常感激。
由于
答案 0 :(得分:0)
在(似乎只有小写是好的)when
条件中使用AND代替和
从一个简单的条件开始,一次添加一个,看看哪个是坏的:
<xsl:when test="@Invoice">
然后
<xsl:when test="@Invoice and (@Invoice!='')">
然后
<xsl:when test="@Invoice and (@Invoice!='') and (@Invoice!=0)">
虽然我会写
<xsl:when test="@Invoice and (@Invoice > 0)">