gpt4 book ai didi

linux - 如何在 xslt 中增加 int 变量?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:29:10 26 4
gpt4 key购买 nike

我正在研究 XSLT 1.0 版本我已经声明了一个 int 变量,当一个(如果条件)条件为真时,该变量必须增加。那么谁能告诉我如何增加该变量或任何解决方案?

例如

<xsl:variable name="count" select="-1" />

是声明的变量。然后我检查一个条件

<xsl:if test="$serviceP=$new">

// if condition id true the i have to increment the variable value (i.e count).
//and again have compare that count varibale value in if condition

<xsl:if test="$count &lt; 2">
// runs when condition is true.
</xsl:if>
</xsl:if>

提前致谢。

最佳答案

XSLT 是一种函数式语言,因此具有不可变的变量——一旦分配,它们的内容就不能更改

您需要停止程序性思考。解释你的问题,很多人会告诉你如何在不增加任何变量的情况下解决这个问题。

例如,解决方案可以像这样简单:

<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output omit-xml-declaration="yes" indent="yes"/>

<xsl:template match="/*">
Latest Service:
<xsl:apply-templates select="service[@new='true'][1]"/>

New Services:
<xsl:apply-templates select="service[@new='true'][position() >1]"/>
</xsl:template>
</xsl:stylesheet>

在更复杂的情况下,您可以编写一个递归调用自身的模板,传递一个特定参数,其值大于当前模板调用中的值 1。

关于linux - 如何在 xslt 中增加 int 变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6058546/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com