gpt4 book ai didi

xslt - XSLT 的奇怪排序要求

转载 作者:行者123 更新时间:2023-12-04 06:17:17 27 4
gpt4 key购买 nike

我有一个奇怪的要求。

我在 xslt 中有一个包含月份的变量,带有它们的 id (1-12)

问题是我需要全部显示它们,但从一月(1)以外的月份开始。

目前我有以下

<xsl:variable name="months">
<Months>
<Month ID="1">JAN</Month>
<Month ID="2">FEB</Month>
<Month ID="3">MAR</Month>
<Month ID="4">APR</Month>
<Month ID="5">MAY</Month>
<Month ID="6">JUN</Month>
<Month ID="7">JUL</Month>
<Month ID="8">AUG</Month>
<Month ID="9">SEP</Month>
<Month ID="10">OCT</Month>
<Month ID="11">NOV</Month>
<Month ID="12">DEC</Month>
</Months>
</xsl:variable>

然后我迭代这个,这样我就可以在给定的月份开始
<xsl:for-each select="msxsl:node-set($months)//Month[@ID >= $startAtMonth]">
<xsl:sort data-type="number" select="@ID"/>
<th>
<xsl:value-of select="text()"/>
</th>
</xsl:for-each>
<xsl:for-each select="msxsl:node-set($months)//Month[not(@ID >= $startAtMonth)]">
<xsl:sort data-type="number" select="@ID"/>
<th>
<xsl:value-of select="text()"/>
</th>
</xsl:for-each>

但是它需要两个 for-each 语句,并且这个 for-each 将在一些地方需要。有没有更简洁的方法来写这个,所以它是一个循环?

最佳答案

如何使用模运算?

<xsl:sort data-type="number" select="(number(@ID)+12-$startAtMonth) mod 12"/>

关于xslt - XSLT 的奇怪排序要求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7068345/

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