我正在处理一个包含if语句的XSL模板。这是xsl:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:variable name="config"
select="document('config.xml')" />
<xsl:template match="/">
<xsl:if test="config/value/@toggle = true">
<xsl:text>IT WORKED</xsl:text>
</xsl:if>
</xsl:template>
我需要做的是使用我已加载到变量中的XML的属性测试if语句。
这是另一个(config.xml):
<?xml version="1.0" encoding="UTF-8"?>
<config>
<value toggle="true" />
</config>
显然这对我不起作用,所以我想知道是否有人能指出正确的方法。
答案 0 :(得分:2)
首先,如果您想引用变量,则需要使用$
前缀,因此它应该是$config
而不是config
。
其次,$config
然后引用文档节点,而不是根元素(也恰好命名为config
)。
考虑到这两点,您的xsl:if
声明应如下:
<xsl:if test="$config/config/value/@toggle = 'true'">