Bonjour à tous,

Je voudrais savoir s'il est possible en XSL de récupérer les 5 plus petites valeurs d'une liste d'éléments.

Considérons la structure suivante:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<racine>
  <noeud>
	<sous-noeud attr1="2.0"/>
  </noeud>
  <noeud>
	<sous-noeud attr1="1.0"/>
  </noeud>
  <noeud>
	<sous-noeud attr1="4.0"/>
  </noeud>
  <noeud>
	<sous-noeud attr1="6.0"/>
  </noeud>
  <noeud>
	<sous-noeud attr1="3.0"/>
  </noeud>
</racine>
Comment puis-je faire un test pour connaitre les 3 plus petites valeurs de @attr1 et agir en conséquence lors de la transformation ?

J'avais pensé à faire un xsl:sort mais je dois mal m'y prendre, de plus je ne dois pas modifier la structure du document. Pour cela je voulais stocker le résultat trié dans un nouvel arbre en mémoire et regarder si @attr1 <= $arbreEnMemoire[3]/@attr1 mais je n'ai pas réussi.

Merci d'avance