0

我想在 xsl 中使用 if 来比较两个值,但我想将一个字符串与一个我可以通过 xsl 标记访问它的值进行比较。如果我与一个值(没有 xsl 标签)进行比较,它可以工作。我是说:

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

但休耕有错误:

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

我不知道如何进行比较。你能帮我么?谢谢你

4

2 回答 2

3

实际上,根本没有必要将第二个参数放在变量中——所以当前接受的答案告诉你错误

只需使用(在 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
于 2012-11-04T15:58:17.310 回答
1

定义一个 XSL 变量,如下所示:

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

然后使用变量进行比较:

  <xsl:if test="$prev4 &gt; $counter">
于 2012-11-04T07:31:23.523 回答