检查xsl中的布尔值



我有一个xml

<FIELD>
 <FNAME>isFirstOfTheMonth</FNAME>
 <TYPE>SVR_BOOLEAN</TYPE>
 <VALUE>false</VALUE>
 </FIELD>
 <FIELD>

我正在尝试检查布尔值。如果不是本月的第一天,则显示文本

<xsl:if test="not(FIELD[FNAME='isFirstOfTheMonth']/VALUE) =false">
  <fo:block font-family="Times New Roman" font-size="11.0pt" text-align="left">
    <xsl:text>The  liability is &#36;</xsl:text>
    <xsl:value-of select="FIELD[FNAME='amount]/VALUE" />
    <xsl:text>&#160;effective&#160;</xsl:text>
    <xsl:value-of select="FIELD[FNAME='StartDate']/VALUE" />
    <xsl:text>.</xsl:text>
  </fo:block>
</xsl:if>

当值为false时,我看不到输出中的文本。

有人能帮我吗?BTW xsl版本1

not(FIELD[FNAME='isFirstOfTheMonth']/VALUE) =false

我认为右括号放错地方了。您正在比较notfalse的结果,是否要将VALUE元素的内容比较为"false"?在哪种情况下使用不相等会更好:

FIELD[FNAME='isFirstOfTheMonth']/VALUE != 'false'

注意,您需要将字符串放在引号中…。因此

<xsl:if test="FIELD[FNAME='isFirstOfTheMonth']/VALUE != 'false'">
  …
</xsl:if>

相关内容

  • 没有找到相关文章

最新更新