Я пытаюсь проверить, возможно ли иметь установку каждого цикла в XSL-файле, который проходит через несколько узлов, но я хочу сделать это так что возвращаются только верхние 3 результата, напримерОграничение количества отсортированных результатов из цикла for-each XSL
<course>
<unit>
<result>80</result>
</unit>
<unit>
<result>77</result>
</unit>
<unit>
<result>96</result>
</unit>
<unit>
<result>69</result>
</unit>
</course>
, а затем использовать для-каждого цикла, подобную следующей:
<xsl:for-each select="/course/unit">
<xsl:sort select="result" data-type="number" order="descending"/>
<xsl:value-of select="result"/>
</xsl:for-each>
Но проблема в том, если я что-то вроде: <xsl:for-each select="/course/unit[position() <= 3]">
Это будет захватывать первые 3 узлов, а затем сортировать это не то, что мне нужно, я хочу, чтобы он получил 3 высшие оценки и возвращал эти узлы для отображения информации, а не сортировки результатов после того, как они прошли весь цикл. Я уверен, что есть простой способ достичь этого без использования шаблонов, поэтому любые подсказки будут высоко оценены.
Это сделало работу отлично, спасибо за подсказку. В конце концов, было просто, ура. – benh11858