在XSL中测试变量字符串

3
我正在尝试测试一个变量值是否等于某个字符串。
 <xsl:if test="$str1='rtl'">

我确定$str1的值是'rtl',但测试结果为false。我做错了什么吗?
谢谢。
编辑:
实际上问题在于变量值为'[[dir]]',并且在此xsl文件上运行的另一个(旧)代码将所有这些字符串替换为'rtl'或'ltr',因此该值只有在测试之后才会变成'rtl'。 :) / :(

测试检查值是否为'rtl',所以你最可能做错的事情是“确定$str1的值为'rtl'”:-) 例如,你确定它没有空格吗? - David Carlisle
好的,问题在于变量值是“[[dir]]”,而且有另一个(旧)代码在这个xsl文件上运行,将所有这些字符串替换为“rtl”或“ltr”,所以值是“rtl”,但只有在测试之后... :) 谢谢! - Adler
1个回答

6
一种不错的调试方法是拥有:

<xsl:value-of select="concat($strl, ' =? ','rtl')"/>
<xsl:if test="$str1 = 'rtl'>True</xsl:if>

并且检查结果。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接