我想在xsl中使用if来比较两个值,但我想将一个字符串与我可以通过xsl标记访问它的值进行比较。如果我与一个值(没有xsl标签)比较,它的工作原理。我的意思是:
<xsl:if test="$prev4 >0">
但是休息时间有误:
<xsl:if test="$prev4 >0<xsl:value-of select="@wholeCount"/>">
我不知道怎么做比较。你能帮我么?谢谢
答案 0 :(得分:2)
定义一个XSL变量,如下所示:
<xsl:variable name="counter" select="@wholeCount"/>
然后使用变量进行比较:
<xsl:if test="$prev4 > $counter">
答案 1 :(得分:2)
实际上,根本没有必要将第二个参数放在变量中 - 所以当前接受的答案会教你错误。
只需使用(在XSLT 1.0和XSLT 2.0中):
<xsl:if test="$prev4 > @wholecounter">
以下是完整示例:
这个简单的XML文档:
<t wholecounter="1"/>
使用以下转换进行处理:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text"/>
<xsl:variable name="prev4" select="3"/>
<xsl:template match="/*">
<xsl:if test="$prev4 > @wholecounter">
$prev4 is greater than @wholecounter
</xsl:if>
</xsl:template>
</xsl:stylesheet>
产生了想要的正确结果:
$prev4 is greater than @wholecounter