Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
4959 connectés 

  FORUM HardWare.fr
  Programmation
  XML/XSL

  Tri de nodes

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Tri de nodes

n°1343119
moldar
Eleveur de saltices
Posté le 10-04-2006 à 15:28:10  profilanswer
 

Bonjour !!
 
J'ai un fichier xml contenant :
<node1>
<numéro>xxxx</numéro>
</node1>
<node2>
<numéro>xxxx</numéro>
</node2>
....
<noden>
<numéro>xxxx</numéro>
</noden>
 
J'ai un fichier XSL qui affiche ces nodes par paquets de 20 (avec un paramètre $page qui me permet de calculer les nodes à afficher en fonction de la page en cours).
Je voudrais maintenant classer ces nodes par numéro croissant.
Actuellement je fais comme ça :
 
<xsl:apply-templates select="Node[position()>=$page][position()&lt;=20]">
<xsl:sort select="numéro"/>
</xsl:apply-templates>
 
==> les nodes sont bien classées, mais 20 par 20 et non dans leur globalité (par exemple, les nodes de 1 à 20 sont classés, idem pour 21 à 40 mais pas de 1 à 40).
 
Vous auriez des idées ?
 :jap:

mood
Publicité
Posté le 10-04-2006 à 15:28:10  profilanswer
 

n°1343129
FlorentG
Posté le 10-04-2006 à 15:32:35  profilanswer
 

Faut trier tous les nodes, puis les sélectionner par 20... Donc un premier apply-templates qui trie, puis qui envoi vers une template qui elle sélectionne par paquets de 20

n°1343171
moldar
Eleveur de saltices
Posté le 10-04-2006 à 15:55:16  profilanswer
 

Exactement !
Mais je sais pas du tout comment faire :D
 
Juste derrière ce bout de code j'ai :
<xsl:template match="Node">
avec la mise en page que j'ai choisie pour les nodes
 
Donc comment faire pour trier les nodes sans pour autant traiter le "<xsl:template match="Node">" ?

n°1343216
FlorentG
Posté le 10-04-2006 à 16:19:25  profilanswer
 

<xsl:apply-templates select="pouet">
  <xsl:sort select="pouet" order="asc" />
</xsl:apply-templates>
 
<xsl:template match="pouet">
  <xsl:if test="position() >= 0 and position() <= 20>
    ...
  </xsl:if>
</xsl>

n°1343408
moldar
Eleveur de saltices
Posté le 10-04-2006 à 18:01:52  profilanswer
 

:jap:

n°1343447
rx__
Paint It Black
Posté le 10-04-2006 à 18:57:40  profilanswer
 

moldar a écrit :

<node1>
....
<noden>


Veux-tu dire que tes éléments s'appellent effectivement node1, node2, ... ?
 
Si c'est le cas, tu devrais plutôt considérer quelque chose du style <node id="1" />, <node id="2" />, ... C'est beaucoup plus logique dans la mesure où tes noeuds son sémantiquement équivalents (et il me semble qu'il est d'ailleurs impossible d'écrire un DTD dans le cas de la première solution). Et, bien que je n'aie jamais essayé, j'imagine que tu peux faire un <xsl:sort select="node/@id" />.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  XML/XSL

  Tri de nodes

 

Sujets relatifs
[resolu] Tri dans un tableau multidimensionnelTri d'un fichier
Tri automatique sous ExcelTri dans un tableau (débutant inside)
[C#] Treeview suppression de nodes[C] Tri par insertion simple & pointeurs
Tri a bulle en VBTri de 2 tableaux distincts, c'est possible ?
Classes, Vecteurs et Tri...Tri d'un tableeau mutlidimentionnel - A n'y plus rien comprendre !!?
Plus de sujets relatifs à : Tri de nodes


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)