Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将XSLT中的字符串与IF条件进行比较_Xslt_Xslt 1.0 - Fatal编程技术网

将XSLT中的字符串与IF条件进行比较

将XSLT中的字符串与IF条件进行比较,xslt,xslt-1.0,Xslt,Xslt 1.0,我在XSLT中使用了一个变量,该变量来自分配给 变量并将其与字符串进行比较 下面是我的示例代码 <?xml version="1.0"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xalan="http://xml.apache.org/xalan" xmlns:xmlutil="xalan://lang.comt.des" exclude-resu

我在XSLT中使用了一个变量,该变量来自分配给 变量并将其与字符串进行比较

下面是我的示例代码

<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xalan="http://xml.apache.org/xalan" xmlns:xmlutil="xalan://lang.comt.des" exclude-result-prefixes="xmlutil xalan">        
    <xsl:template match="/">       
        <html>
            <head>
            <title>sample</title></head>
            <body>                
                <xsl:variable name="language">--LANG--</xsl:variable>               
                <xsl:value-of select="$language" />               
                <xsl:if test="$language = 'en'">testing</xsl:if>                
            </body>
        </html>
    </xsl:template>    
</xsl:stylesheet>

样品
--朗--
测试
--LANG--
的值来自Java代码并返回en。 当我使用
打印变量时,它给出了正确的结果
en


但是,当我使用
IF
条件来比较字符串值时,它并不满足该条件。有人能帮我找出这里的错误吗?

您必须向我们展示设置变量和调用XSLT转换的Java代码。此外,如果变量是在外部设置的,则应删除XSLT中的声明。据我所知,如果要从XSLT外部(例如,使用Java)设置变量值,则需要顶级的
xsl:param
,因此,请确保您将
作为
xsl:stylesheet
的子级。传递给
语言的
变量的值是否可能实际包含初始或最终空格,例如
“en”
?不,没有任何空格“来自Java代码”的值是什么,为什么不使用xsl:param从Java传递参数的标准机制呢?