2012-11-04 41 views
0

我想要在xsl中比较两个值,但我想比较一个字符串与我可以通过xsl标记访问它的值。如果我比较一个值(没有xsl标签),它的工作原理。我的意思是:比较字符串与xsl中的xsl标记中的值:

<xsl:if test="$prev4 &gt;0"> 

但休耕有错误:

<xsl:if test="$prev4 &gt;0<xsl:value-of select="@wholeCount"/>"> 

我不知道如何做到这一点比较。你能帮我么?谢谢

+0

user1597122,在XSLT 1.0你可以使用:'的 @wholeCount”>'。在XSLT 2.0中:''。你*不需要把第二个参数放在一个变量中。 –

回答

2

定义如下的XSL变量:

<xsl:variable name="counter" select="@wholeCount"/> 

然后使用该变量比较:

<xsl:if test="$prev4 &gt; $counter"> 
+0

真的很感谢:) – user1597122

2

其实,这是没有必要的放置第二个论点一个变量 - 所以目前接受的答案教你错误

(均在XSLT 1.0和XSLT 2.0)只需使用:

​​

下面是一个完整的例子

这个简单的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