如何将值重新分配给先前分配的变量?我需要它像这样工作:
<xsl:variable name="variable2" select="'N'" />
....
<xsl:when test="@tip = '2' and $variable2 != 'Y'">
<xsl:variable name="variable2" select="'Y'" />
</xsl:when>
最佳答案
XSLT中的变量只能分配一次值。这是设计使然。有关总体动机的理解,请参见Why Functional languages?。
与其重新分配变量,不如直接针对输入文档编写条件语句,或使用变化的局部参数递归调用函数(或命名模板)。
您需要做的任何事情都可以使用不需要重新分配变量的方法来完成。要获得更具体的答案,请提供更具体的问题。
也可以看看: