compte le nombre de ligne

compte le nombre de ligne - XML/XSL - Programmation

Marsh Posté le 04-10-2005 à 10:35:08    

Bonjour,  
j'ai un souci avec mon XSL.
Voila mon XSL va cherhcer dan mon XML des données.
 
Mon XML se présente sous la forme.
 
<root>
 <part>
    <niveau>
    </niveau>
 </part>
 <part>
    <niveau>
    </niveau>
     <niveau>
    </niveau>
 </part>
 <part>
    <niveau>
    </niveau>
    <niveau>
    </niveau>
    <niveau>
    </niveau>
 </part>
</root>
 
Le XSL fait un FOR-EACH  et je récupère la valeur du niveau grâce à POSITION().
J'obtiens 1 pour le premier part
            2 pour le deuxieme part
            3 pour le troisième part
 
Mon but est d'obtenier 6 (la somme des 3) mais à chaque netrée dans part la position repasse à 1.
J'ai lu qu'on pouvait passer par des templates mais je ne sais pas comment faire.
Merci.

Reply

Marsh Posté le 04-10-2005 à 10:35:08   

Reply

Marsh Posté le 04-10-2005 à 10:46:52    

J'ai pas idée à quoi tu joue... regardes les fonctions suivantes qui peuvent t'être utile: position(), last() et count().
 
Les additions avec variables en XSLT y'a pas 36 solutions, faut faire du récursif, c'est décrit et c'est à la portée de tout moteur de recherche qui se respecte.  
 
Maintenant si tu veux obtenir 6 tu peux compter le nombre de 'niveau' ou c'est un hasard?  
 

Reply

Marsh Posté le 04-10-2005 à 10:58:26    

Le problème c'est que c'est un hasard, mais je vais essayé le count(), je suis en train de tester le récursif.

Reply

Marsh Posté le 04-10-2005 à 11:15:04    

Je vais être plus clair j'ai une balise étagère (part) qui contient des balises   des balises livres (niveau). Sur chaque étagère je peux avoir un nombre de livres quelconque. Donc pour avoir le nombre de livre sur une étagère je l'ai grâce à POSITION(). Il faut que j'ai le nombre total de livre en ajoutant le livre de chaque étagère.
 
Voilà.

Reply

Marsh Posté le 04-10-2005 à 12:10:37    

count() peut tout te dire alors... pas besoin de position().


Message édité par avander le 04-10-2005 à 12:11:28
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed