salut
je fais un tri dynamique assez complexe (mais qui fonctionne très bien) avec qqchose du style
ce que j'aimerais c'est :
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>
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é
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"<xsl:if test="not(following::ligne/val=current()/val)">
<tr>
<hr/>
</tr>
<xsl:if>
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 !!!!
Partager