繁体   English   中英

XSL IF测试存储在变量中的条件?

[英]XSL IF test a condition stored in a variable?

我有一个构建复杂的OR测试条件的递归模板。 其结果存储在$filtercriteria变量中,其值为:

contains(@Category,'abc') or contains(@Category,'def')

如何在XSL IF语句中使用存储在变量中的此测试条件?

我希望将$filtercriteria的文字值评估为测试条件:

<xsl:if test="$filtercriteria">
    Do something...
</xsl:if>

应翻译为:

<xsl:if test="contains(@Category,'abc') or contains(@Category,'def')">
    Do something...
</xsl:if>

使用纯XSLT 1.0和2.0,您不能将XPath表达式构造为字符串并对其求值。 为此,您需要像http://www.exslt.org/dyn/functions/evaluate/这样的扩展名,或者您需要具有xsl:evaluate的XSLT 3.0处理器: http : //www.w3.org/TR/xslt-30 /#element-evaluate

当我需要xsl:evaluate而不是扩展名或XSLT 3.0时,我去了meta并编写XSLT来生成新的XSLT,该XSLT本身包含了组合的语句或表达式。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM