我调用了一个模板,该模板将返回一个css类名,具体取决于我作为参数发送的值。为了这个例子,让我们说参数是我们正在处理的元素的总和。我们还假设如果总和大于10(类“蓝色”),则css指定蓝色背景,如果总和小于或等于10(类“黄色”),则css指定黄色背景。
<xsl:call-template name="template1">
<xsl:with-param name="param" select="sum(.//something)"/>
</xsl:call-template>
我希望在另一个调用中使用此css类名,具体取决于从“template1”调用返回的内容。所以我希望以下元素可以是“黄色”或“蓝色”类,具体取决于前一次调用返回的内容。
<xsl:call-template name="template2">
<xsl:with-param name="param" select=".//something"/>
</xsl:call-template>
这可以在xslt中实现吗?或者有更好的方法吗?欢迎任何想法!
答案 0 :(得分:0)
您可以使用
将结果存储在变量中<xsl:variable name="cssClass">
<xsl:call-template name="template1">
<xsl:with-param name="param" select="sum(.//something)"/>
</xsl:call-template>
</xsl:variable>
然后在其他地方你可以用例如<xsl:with-param name="param" select="$className"/>
。