Xslt 调用模板-两个模板调用之间的绑定结果

Xslt 调用模板-两个模板调用之间的绑定结果,xslt,Xslt,我调用了一个模板,该模板将根据我作为参数发送的值返回一个css类名。在本例中,假设参数是我们正在处理的元素的总和。我们还假设,如果总和大于10(类“蓝色”),css指定蓝色背景;如果总和小于或等于10(类“黄色”),css指定黄色背景 我想在另一个调用中使用这个css类名,具体取决于调用“template1”返回的内容。因此,我希望下面的元素属于“yellow”或“blue”类,具体取决于上一次调用返回的内容 <xsl:call-template name="templ

我调用了一个模板,该模板将根据我作为参数发送的值返回一个css类名。在本例中,假设参数是我们正在处理的元素的总和。我们还假设,如果总和大于10(类“蓝色”),css指定蓝色背景;如果总和小于或等于10(类“黄色”),css指定黄色背景


我想在另一个调用中使用这个css类名,具体取决于调用“template1”返回的内容。因此,我希望下面的元素属于“yellow”或“blue”类,具体取决于上一次调用返回的内容

        <xsl:call-template name="template2">
             <xsl:with-param name="param" select=".//something"/>
        </xsl:call-template>


这可以在xslt中实现吗?还是有更好的方法?欢迎任何意见

您可以使用

<xsl:variable name="cssClass">
        <xsl:call-template name="template1">
            <xsl:with-param name="param" select="sum(.//something)"/>
        </xsl:call-template> 
</xsl:variable>


然后,您可以在其他地方引用该变量,例如,

问题是,一个选择应该使用sum(某物),另一个选择其他某物。因此,select值是不同的,但是css类应该是相同的。您可能希望向我们显示您拥有的XML输入和您希望使用XSLT创建的相应输出,并显示更多XSLT。不清楚何时何地使用计算出的CSS类值,是否要构建进一步转换的中间结果。
<xsl:variable name="cssClass">
        <xsl:call-template name="template1">
            <xsl:with-param name="param" select="sum(.//something)"/>
        </xsl:call-template> 
</xsl:variable>