Boucle en XSL [Résolu]

justforthesnow 8 Messages postés mardi 23 août 2005Date d'inscription 7 novembre 2009 Dernière intervention - 8 oct. 2009 à 14:17 - Dernière réponse : Zobibol 469 Messages postés mercredi 9 janvier 2002Date d'inscription 20 février 2017 Dernière intervention
- 8 oct. 2009 à 15:36
Bonjour à tous,

je suis en train de découvrir le XSL.
J'ai fait une boucle qui parcourt mes noeuds. Ca fonctionne.
Ce que je voudrais faire c'est lire les noeuds 2 par 2.

En gros j'affiche un tableau de 2 colonnes.
La première une image la deuxième du texte.
LA je voudrais pareil mais un coup avec l'image a gauche puis a droite.

Du coup mon tableau fait 3 colonnes. Et la colonne de texte a un colspan=2

 <xsl:for-each select="Liste/photo">
      <tr>
        <td><xsl:value-of select="image"/></td>
        <td colspan="2"><xsl:value-of select="texte"/>

</td>
      </tr>
      <tr>
        <td colspan="2"><xsl:value-of select="texte"/>

</td>
        <td><xsl:value-of select="image"/></td>        
      </tr>
      </xsl:for-each>


Sauf que la je lis deux fois le même nœud
Afficher la suite 

Votre réponse

7 réponses

Meilleure réponse
Zobibol 469 Messages postés mercredi 9 janvier 2002Date d'inscription 20 février 2017 Dernière intervention - 8 oct. 2009 à 15:22
3
Merci
Bien le bonjour(s)
Du xsl, voilà qui change...
Donc, dans le for-each, il y a une méthode appelée : position() (allez, devinez ce qu'elle peut bien faire...)
Il suffit donc de la cumulée avec un modulo et hop, l'affaire est faite :

<xsl:for-each select="liste/photo">
 <xsl:if test="position() mod 2 = 1" >
      <tr>
        <td><xsl:value-of select="image"/></td>
        <td ><xsl:value-of select="texte"/>

</td>
<td><xsl:value-of select="position()"/></td>
      </tr>
  </xsl:if>
  <xsl:if test="position() mod 2 = 0" >
      <tr>
        <td ><xsl:value-of select="texte"/>

</td>
        <td><xsl:value-of select="image"/></td>      
<td><xsl:value-of select="position()"/></td>		
      </tr>
  </xsl:if>
     </xsl:for-each>




[o-_-o]

Merci Zobibol 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 97 internautes ce mois-ci

Commenter la réponse de Zobibol
Bul3 4934 Messages postés samedi 1 juillet 2006Date d'inscription 2 février 2015 Dernière intervention - 8 oct. 2009 à 14:35
0
Merci
Bonjour,

vous voulez afficher les "données"
impaires à gauche et les paires à droite ?
c'est ça ? j'ai compris ?

je ne parierais pas qu'on puise
faire ça uniquement en xsl (?)
for-each c'est bien "pour chaque"
mais je suis loin d'être un expert,
il y a peut-être un moyen...

sinon, c'est pas mal, hein, le xsl....

Cordialement [mon Site] [M'écrire] Bul
Commenter la réponse de Bul3
justforthesnow 8 Messages postés mardi 23 août 2005Date d'inscription 7 novembre 2009 Dernière intervention - 8 oct. 2009 à 14:39
0
Merci
Je dirais même plus que c'est pas mal.
Je ne connaissais pas du tout avant que vous m'en parliez !
Quelle est la différence avec XSLT d'ailleurs ?

Pour mon problème je peux le résoudre en créant de nouvelles balises mais j'aimerais éviter.

Merci de votre aide !
Commenter la réponse de justforthesnow
Bul3 4934 Messages postés samedi 1 juillet 2006Date d'inscription 2 février 2015 Dernière intervention - 8 oct. 2009 à 15:02
0
Merci
>>xslt
lu chez w3c

Cette spécification définit la syntaxe et la sémantique de
XSLT, qui est un langage permettant de transformer des
documents XML en d'autres documents XML.
XSLT est conçu pour être utilisé comme une partie de XSL,
le langage des feuilles de style de XML. En plus de XSLT,
XSL inclus un vocabulaire XML pour la spécification de
formatage. XSL spécifie les règles de présentation d'un
document XML en utilisant XSLT pour décrire comment le
document peut être transformé en un autre document qui
utilise le vocabulaire de formatage.
XSLT est aussi conçu pour être utilisé indépendamment de XSL.
Cependant, XSLT n'est pas censé être utilisé comme un langage
de transformation XML à vocation générale. Il a surtout été
conçu pour les types de transformations nécessaires lorsque
XSLT est utilisé comme une partie de XSL....


mais le mieux : ;o) cliquez ici

>>en créant de nouvelles balises mais j'aimerais éviter
certes, ce serait "mieux" d'éviter
Commenter la réponse de Bul3
justforthesnow 8 Messages postés mardi 23 août 2005Date d'inscription 7 novembre 2009 Dernière intervention - 8 oct. 2009 à 15:28
0
Merci
Mais c'est que c'est parfais ton code !
Youhou!!! (voix d'Homer)

Je te remercie te don aide, ca fonctionne parfaitement.
Commenter la réponse de justforthesnow
Bul3 4934 Messages postés samedi 1 juillet 2006Date d'inscription 2 février 2015 Dernière intervention - 8 oct. 2009 à 15:33
0
Merci
ben voila... connaissais pas position() ! nickel zobibol.
Commenter la réponse de Bul3
Zobibol 469 Messages postés mercredi 9 janvier 2002Date d'inscription 20 février 2017 Dernière intervention - 8 oct. 2009 à 15:36
0
Merci
Si y a que ça pour vous faire plaisir


[o-_-o]
Commenter la réponse de Zobibol

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.