我有一个从以下XSL代码生成的报告。代码在每个数字上生成超链接,但是如果变量的值为零,我想避免创建超链接。这是我的代码。请告诉我如何在值为零时避免创建超链接
<xsl:choose>
<xsl:when test="Image = '' and not(ValueId = '0')">
<TD style='background-color:#FF6360'>
<xsl:variable name="value">
<xsl:value-of select="ValueId"/>
</xsl:variable>
<xsl:variable name="URL">
<xsl:value-of select="concat('https://google.com/imp/values.aspx?id=', $value)"/>
</xsl:variable>
<a href="{$URL}">
<xsl:value-of select="ValueId"/>
</a>
</TD>
</xsl:when>
</xsl:choose>
答案 0 :(得分:0)
以下将测试变量$ value的值是否为0,并且仅当它不等于0时才会创建链接:
<xsl:if test="$value!=0">
<a href="{$URL}">
<xsl:value-of select="ValueId"/>
</a>
</xsl:if>
如果$ value的类型不是数字,则测试应为
test="$value!='0'"
当前代码中的问题是,如果值为零,则不生成表格单元格 - 即使值为零,您肯定还要生成td? 你似乎有一些不必要的代码:首先你为$ Value创建一个由ValueId初始化的变量。你可以直接用ValueId完成所有这些。