将XSLT中的字符串与IF条件进行比较
我在XSLT中使用了一个变量,该变量来自分配给 变量并将其与字符串进行比较 下面是我的示例代码将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
<?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传递参数的标准机制呢?