<xsl:variable name="a">20</xsl:variable>
    <xsl:variable name="b">10</xsl:variable>
      <xsl:if test="($a) > ($b)">
        ------
  </xsl:if>
我在if condion中得到错误..
请尝试以下方法:
 <xsl:if test="$a > $b">
尝试在表达式中使用>(>)和<(<)运算符的字符实体,否则一些解析器会认为您提前关闭标记,或者打开另一个标记.
您发布的示例应该有效.但是,在你的情况下,你不应该这两个变量都是string类型,它们的长度不同会产生令人惊讶的结果.比较运算符在不同数据类型上的行为在布尔值的xpath规范中指定.
为避免这种情况,您可以使用select属性声明变量或手动将它们转换为数字以进行比较:
<xsl:variable name="a" select="20"/>
<xsl:variable name="b" select="10"/>
...
<xsl:if test="number($a) > number($b)">
</xsl:if>