为循环命令xsl以及将循环限制为仅五

时间:2016-09-26 14:04:26

标签: xml xslt

假设我有这个xml数据。我需要做的是循环这个并给我最早的5.所以最新到最旧,只输出5.

我正在做着

<xsl:for-each select="TEST_DATA[not(position() >5)]">
    <xsl:sort select="DATE" order="descending"/>
        The rest of the mapping...

<TEST_DATA>
  <DATE>20160401</DATE>
  </TEST_DATA>
<TEST_DATA>
    <DATE>20160501</DATE>
</TEST_DATA>
<TEST_DATA>
    <DATE>20160601</DATE>
</TEST_DATA>
<TEST_DATA>
    <DATE>20160301</DATE>
</TEST_DATA>
<TEST_DATA>
    <DATE>20150201</DATE>
</TEST_DATA>
<TEST_DATA>
    <DATE>20110301</DATE>
</TEST_DATA>
<TEST_DATA>
    <DATE>20160301</DATE>
</TEST_DATA>
<TEST_DATA>
    <DATE>20160101</DATE>
</TEST_DATA>

1 个答案:

答案 0 :(得分:1)

将其更改为

<xsl:for-each select="TEST_DATA">
    <xsl:sort select="DATE" order="descending"/>
    <xsl:if test="position() &lt;= 5">...</xsl:if>
</xsl:for-each>