当我直接输出节点的值时,例如:
<fo:inline><xsl:value-of select="isEnabled" /></fo:inline>
我得到正确的字符串输出pdf“true”..
但是如果我将isEnabled的值直接设置为变量然后尝试对其进行比较..它似乎不起作用,就好像节点不存在一样。
<xsl:variable name="isEnabled" select="isEnabled" />
<xsl:choose>
<xsl:when test="$isEnabled = 'true'">
dostuff...
似乎这里的值从未正确接收过,测试总是失败
有什么想法吗?
答案 0 :(得分:3)
isEnabled是否包含空格?
<isEnabled>true</isEnabled>
VS
<isEnabled>true </isEnabled>
或
<isEnabled>
true
</isEnabled>
会为您的测试提供不同的结果。第一个应该通过,接下来的两个可能不会通过。然而,当使用value-of时,它们似乎都可以呈现为文本“真实”。
答案 1 :(得分:1)
怎么样?
<xsl:variable name="isEnabled">
<xsl:value-of select="isEnabled" />
</xsl:variable>
<xsl:when test="normalize-space($isEnabled)='true'">
答案 2 :(得分:0)
好吧原来这不是一个xsl问题,但问题是早得多..在生成转换的xml的速度模板上。我怎么能关闭这个问题?