我有以下问题,我认为它有一个简单的解决方案,我只是没有知识。
例如,我有这个输入:
<set>
<value>8</value>
<value>1</value>
<value>2</value>
<value>10</value>
<value>4</value>
<value>22</value>
<value>12</value>
<value>45</value>
<value>11</value>
<value>3</value>
<value>5</value>
<value>9</value>
<value>21</value>
<value>6</value>
<value>7</value>
<value>13</value>
</set>
我想创建最多包含 10 个元素的序列,每个元素的数字是连续的且按升序排列。
期望的输出:
<MOrd>
<range>
<value>1</value>
<value>2</value>
<value>3</value>
<value>4</value>
<value>5</value>
<value>6</value>
<value>7</value>
<value>8</value>
<value>9</value>
<value>10</value>
</range>
<range>
<value>11</value>
<value>12</value>
<value>13</value>
</range>
<range>
<value>21</value>
<value>22</value>
</range>
<range>
<value>45</value>
</range>
</Mord>
到目前为止我有这段代码,但不知道如何继续:
<MOrd>
<xsl:for-each select="$Set">
<xsl:sort select="value" order="ascending" data-type="number"/>
<xsl:for-each-group select="value" group-by"value">
<range>
<xsl:if test=".">
<value>
<xsl:value-of select="."/>
</value>
</xsl:if>
</range>
</xsl:for-each-group>
</xsl:for-each>
</MOrd>
你会怎么从这里走?