在XSL中增加变量

时间:2015-06-16 14:48:28

标签: xml xslt xslt-2.0

我定义了以下变量四分之一,如果它的值不等于4,我想在我的XSL表中将它的当前值增加一。

我有以下代码:

  <xsl:if test="not($quarter=4)">
      </xsl:text><xsl:value-of select="$quarter+1" />
  </xsl:if>

但这不起作用 - 有没有人知道如何在我的$ quarter变量中添加1?

2 个答案:

答案 0 :(得分:0)

由于/ xsl:text标记,这不起作用。 if语句真的有效吗?尝试使用xsl:message输出变量。除此之外,检查变量是否实际存储了一个数字,如果是,则尝试使用xpath函数明确地将变量内容转换为数字。

答案 1 :(得分:0)

语法是正确的(假设$quarter是有效的XSL数字变量,以防您使用number($quarter)+1)。有什么问题是<xsl:text>节点,你没有有效的XML文件:

<xsl:if test="not($quarter=4)">
    </xsl:text><xsl:value-of select="$quarter+1" />
</xsl:if>

应改为:

<xsl:if test="not($quarter=4)">
    <xsl:value-of select="$quarter+1" />
</xsl:if>

请注意:a)您使用结束标记</xsl:text>而不是打开一个而b)如Micheal <xsl:text>所述,只能包含文本,不包含子元素。