我定义了以下变量四分之一,如果它的值不等于4,我想在我的XSL表中将它的当前值增加一。
我有以下代码:
<xsl:if test="not($quarter=4)">
</xsl:text><xsl:value-of select="$quarter+1" />
</xsl:if>
但这不起作用 - 有没有人知道如何在我的$ quarter变量中添加1?
答案 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>
所述,只能包含文本,不包含子元素。