首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >通过多个循环itarations为行设置变量。

通过多个循环itarations为行设置变量。
EN

Stack Overflow用户
提问于 2022-09-29 16:23:58
回答 1查看 46关注 0票数 0

我在伊斯兰会议组织中使用追加选项在一个循环中生成一个csv文件,因此每个循环的迭代都会写入同一个文件,其中包含一个rownum列,它是文件中的顺序记录号,我在XSLT中这样做的方式是:

代码语言:javascript
运行
复制
<xsl:variable name="Counter">
   <xsl:number level="any"/>
</xsl:variable>
<ns33:RowNum>
   <xsl:value-of select="$Counter"/>
</ns33:RowNum>

代码语言:javascript
运行
复制
<ns35:RowNum xml:id="id_286">
   <xsl:value-of select="position ()"/>
</ns35:RowNum>

所发生的情况是,以一个循环中的10个记录为例,第一个循环中的rownum值为1 ..10,在第二个循环中。再来10次。在csv文件中,rownum列的值为1 .101 ..。10.我希望他们是1 ..。20.我很难弄清楚如何做到这一点。有什么想法吗?谢谢

EN

回答 1

Stack Overflow用户

发布于 2022-10-25 10:53:12

在伊斯兰会议组织中,XSLT中定义的变量将仅在XSLT的范围内维护。由于您希望在XSLT转换的不同迭代之间使用一致的数字,因此您将需要XSLT之外的一个变量。这个变量需要作为一个参数传入XSLT。

在伊斯兰会议组织级别(循环外)中声明1个变量,并将其设置为0。如前所述,它还作为参数传递给XSLT。

将变量名称为$externalCounter。填充RowNum的值如下所示

代码语言:javascript
运行
复制
<ns33:RowNum>
   <xsl:value-of select="$externalCounter + $Counter"/>
</ns33:RowNum>

在xslt转换之后,在循环中,将$externalCounter的值更新为XSLT 中RowNum的最大值。在您的情况下,最后节点集的值应该足够了。

代码语言:javascript
运行
复制
$xsltOutput/..../RowNum[last()]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73898803

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档