0

我需要验证 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>

希望能得到你的任何帮助。将不胜感激。

谢谢

4

1 回答 1

0

when条件下使用 AND 而不是 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 &gt; 0)">
于 2013-05-06T13:53:10.870 回答