【发布时间】:2016-07-25 08:39:43
【问题描述】:
问题是我需要使用 xsl:when 多次测试一个状态,并且我想使用这样的 xsl:function
<xsl:function name="isPrime">
<xsl:param name="var1"/>
<xsl:param name="var2"/>
<xsl:value-of select="$var1='0' and $var2=1"/>
</xsl:function>
<xsl:when test="isPrime($var1, $var2)">
....
<xsl:when test="isPrime($var1, $var2)">
....
<xsl:when test="isPrime($var1, $var2)">
有没有办法做到这一点?还是有解决此类问题的方法?
【问题讨论】:
-
问题不在于您需要 X 或您想要 Y,问题在于某些事情失败了。告诉我们它是如何失败的。
-
没有失败。在我的代码中,一个长的测试用例重复太多,我希望我的代码更具可读性和可重写性
-
好的,这已经是比我们以前更好的问题陈述了。但我认为你已经遗漏了太多的背景来回答这个问题。那些 xsl:when 元素是否在同一个 xsl:choose 中?在同一个 xsl:template 中?还是散落在样式表各处?
-
我在多个 xsl 文件中使用它,我想把函数放在头文件中,然后在需要时使用它
-
没有头文件这样的东西,但您可以使用 xsl:include 和 xsl:import 来导入共享模块中的代码。