salut

je fais un tri dynamique assez complexe (mais qui fonctionne très bien) avec qqchose du style

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
<xsl:apply-templates select="ligne"> 
<xsl:sort select="*[local-name()=$T_PRI]" data-type="{$temp1}" order="{$O_PRI}"/>
<xsl:sort select="*[local-name()=$T_SEC]" data-type="{$temp2}" order="{$O_SEC}"/>
</xsl:apply-templates>
ce que j'aimerais c'est :

quand je trie sur une certaine clé primaire (quand T_PRI="val"), je fasse une séparation par groupe (l'équivalent d'un "group by T_PRI" de sql). Il y aura donc une ligne <hr> entre le "groupe1" et le "groupe2", puis une autre entre "groupe2" et "groupe3" et ainsi de suite

j'ai essayé

<xsl:if test="not(following::ligne/val=current()/val)">
<tr>
<hr/>
</tr>
<xsl:if>
ce qui veut dire que je recherche si dans les noeuds restants à traiter (les noeuds qui suivent dans le fichier xml) il n'y en a pas d'autres qui est le même "val"

et en toute logique ca ne fonctionne QUE si mon xml était bien ordonné (en raison du following)... et à priori il n'est pas trié suivant la clé "val"

en effet il me mettra le <hr/> derriere la derniere ligne du fichier, mais qui ne correspond pas forcément à la dernière ligne dans mon tri

je tourne en rond sur ce prob depuis une grosse semaine, alors si vous pouviez m'aider !

merci d'avance !!!!