如果使用另一个文件中的属性进行语句测试

时间:2014-11-18 08:03:21

标签: xml xslt

我正在处理一个包含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>

显然这对我不起作用,所以我想知道是否有人能指出正确的方法。

1 个答案:

答案 0 :(得分:2)

首先,如果您想引用变量,则需要使用$前缀,因此它应该是$config而不是config

其次,$config然后引用文档节点,而不是根元素(也恰好命名为config)。

考虑到这两点,您的xsl:if声明应如下:

<xsl:if test="$config/config/value/@toggle = 'true'">