Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xslt 嵌套XSL增量变量_Xslt_Increment - Fatal编程技术网

Xslt 嵌套XSL增量变量

Xslt 嵌套XSL增量变量,xslt,increment,Xslt,Increment,我有以下代码: <xsl:for-each select"/*/cities/city"> <xsl:for-each select="./items/item"> <xsl:variable name="counter" select="position()" /> </xsl:for-each> </xsl:for-each> 我想做的是制作一个全局计数器,它同时考虑全局范围和内部范围。例如,

我有以下代码:

<xsl:for-each select"/*/cities/city">
    <xsl:for-each select="./items/item">
         <xsl:variable name="counter" select="position()" />
    </xsl:for-each>
</xsl:for-each>

我想做的是制作一个全局计数器,它同时考虑全局范围和内部范围。例如,如果:

内部循环的第一次迭代有7项,计数为
7
。执行第二次迭代时,新计数应为
7+position()


我怎样才能做到这一点呢?

在没有看到输入和预期输出的情况下,很难回答这个问题。显然,你可以简单地做到:

<xsl:for-each select"/*/cities/city/items/item">
    <xsl:variable name="counter" select="position()" />
</xsl:for-each>


以获得指定的结果。如果由于某种原因,您需要嵌套两个代码> XSL:对于每个指令,请考虑使用<代码> XSL:No.<代码>对项目进行编号。

您的问题尚不清楚。请发布一个输入示例(至少出现两次
city
)和预期输出-请参阅。在讨论XSLT时,最好不要使用面向时间的单词(“当它执行时”)。它们表明您在按程序思考,就好像XSLT样式表是按顺序执行的一系列步骤。您需要考虑将输出描述为输入的函数。事实上,您没有显示输入,也没有显示所需的输出,您所显示给我们的只是代码,这些代码并不是您想要的。