XSLT中的IF条件

时间:2016-04-14 18:17:31

标签: xslt bi-publisher

我不明白为什么以下代码无法在XSL-FO表中使用。

在那一行:

<xsl:when test="xdoxslt:get_variable($_XDOCTX, 'Deadline_Year')" < "xdoxslt:get_variable($_XDOCTX, 'Last_Year')"> 

我收到错误:

  

(致命错误)空白要求。

我的代码是:

<xsl:choose>
  <xsl:when test="xdoxslt:get_variable($_XDOCTX, 'Deadline_Year')" &lt; "xdoxslt:get_variable($_XDOCTX, 'Last_Year')">
    <xsl:value-of select="xdoxslt:ifelse(xdoxslt:get_variable($_XDOCTX, 'Calc_Year')  xdoxslt:get_variable($_XDOCTX, 'Years')> 
            xdoxslt:get_variable($_XDOCTX, 'Last_Year'),'',xdoxslt:ifelse(xdoxslt:get_variable($_XDOCTX, 'UEBERNAHME') = 0, 0, . div xdoxslt:get_variable($_XDOCTX, 'UEBERNAHME'))), ''"/>
  </xsl:when>   
  <xsl:otherwise>
    <xsl:value-of select="xdoxslt:ifelse(xdoxslt:get_variable($_XDOCTX, 'Calc_Year')>xdoxslt:get_variable($_XDOCTX, 'Last_Year'),'', xdoxslt:ifelse(xdoxslt:get_variable($_XDOCTX, 'UEBERNAHME') = 0, 0,. div doxslt:get_variable($_XDOCTX, 'UEBERNAHME'))), '' "/>
  </xsl:otherwise>
</xsl:choose>

1 个答案:

答案 0 :(得分:2)

两个(语法)问题:

  1. 太多双引号。
  2. <应为&lt;
  3. 以下是对这些语法问题的更正:

    <xsl:when test="xdoxslt:get_variable($_XDOCTX, 'Deadline_Year')
                     &lt; xdoxslt:get_variable($_XDOCTX, 'Last_Year')">