Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

XSL/XSLT/XPATH XML Discussion :

[XSLT] Boucles imbriquées


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    février 2008
    Messages
    508
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : février 2008
    Messages : 508
    Points : 521
    Points
    521
    Par défaut [XSLT] Boucles imbriquées
    Bonjour tout le monde,

    Après avoir posé une question dont la résolution implique une version qui n'est pas encore implémentée depuis bien huit ans que la question émerge de temps à autre, me voilà maintenant avec une question beaucoup plus basique.

    Prenons un exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    -<member name="The.Name.Of.A.Certain.Method">
    <summary>A description of the method</summary>
    <param name="cpService" type="ICPService"/>
    <param name="logger" type="ILoggerManager"/>
    <param name="configuration" type="IConfiguration"/>
    </member>
    J'ai un objet en un certain nombre d'occurrences (member), et pour chaque occurrence un autre objet qui peut aussi exister en plusieurs occurrences (param).

    J'ai obtenu la liste des objets member, à l'aide de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
            <xsl:for-each select="/doc/members/member">
    mais maintenant, je sèche pour afficher, pour chaque member, la liste de ses param.

    Facile, en principe ?
    (Gloops, Gluups ... c'est un peu pareil)

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    février 2008
    Messages
    508
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : février 2008
    Messages : 508
    Points : 521
    Points
    521
    Par défaut
    Bon, il faut croire que ça devait me démanger de poser la question, puisqu'en définitive, une deuxième boucle <xsl:for-each> à l'intérieur de la première, ça ne pose guère de problème, surtout pour afficher juste les paramètres.

    ça se gâte quand je veux afficher ça dans une deuxième colonne d'un tableau HTML, car je dois fermer l'objet td et le rouvrir avant de fermer l'objet xsl:for-each, et XSLT n'aime pas ça.
    Tant pis, j'ai l'impression que je vais mettre une cellule vide à droite du titre paramètres, comme ça en dessous je pourrai mettre une ligne par paramètre.

    Meilleure idée ?
    (Gloops, Gluups ... c'est un peu pareil)

  3. #3
    Modérateur

    Profil pro
    Inscrit en
    septembre 2004
    Messages
    11 815
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : septembre 2004
    Messages : 11 815
    Points : 20 038
    Points
    20 038
    Par défaut
    C'est pas bien clair sans exemple, malheureusement.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Membre actif
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    avril 2007
    Messages
    196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : avril 2007
    Messages : 196
    Points : 293
    Points
    293
    Par défaut
    Comme le dit Thelvin...

    1/ exemple XML
    2/ ton essai XSLT
    3/ ce que tu attendais

    parce-que là pour comprendre ce que tu veux faire, tu facilites pas le travail ^^
    "Chuck Norris a déjà compté jusqu'à l'infini. Deux fois."

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    février 2008
    Messages
    508
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : février 2008
    Messages : 508
    Points : 521
    Points
    521
    Par défaut
    OK OK.
    J'avais une ligne de titre pour annoncer les paramètres, en colspan="2", suivie d'une ligne par paramètre, avec une cellule vide à gauche et le détail du paramètre à droite.
    Sur la feuille de style XSLT ça donnait ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
                  <tr>
                    <td colspan="2">
                      Parameters (see following lines, if any : lines with blank cell at left)
                    </td>
                  </tr>
                    <xsl:for-each select="param">
                      <tr>
                        <td></td>
                        <td>
                          * <xsl:value-of select="@name" /> - 
                          <xsl:value-of select="@type" />
                        </td>
                      </tr>
                    </xsl:for-each>
                <tr>
    Finalement, je me suis rendu compte que c'était à la fois plus lisible et plus simple à réaliser de présenter tous les caractères dans la même cellule.

    Alors, ça donne ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
                  <tr>
                    <td style="vertical-align: text-top;">
                      Parameters
                    </td>
                    <td>
                    <xsl:for-each select="param">
                          * <xsl:value-of select="@name" />
                          <xsl:if test="@type!=''"> - type :
                          <xsl:value-of select="@type" /></xsl:if><br />
                    </xsl:for-each>
                    </td>
                </tr>
    (Gloops, Gluups ... c'est un peu pareil)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XSLT] Boucle imbriquée
    Par cinou01 dans le forum XSL/XSLT/XPATH
    Réponses: 7
    Dernier message: 07/12/2010, 14h35
  2. [XSLT] boucles imbriquées
    Par cinou01 dans le forum XSL/XSLT/XPATH
    Réponses: 0
    Dernier message: 26/11/2010, 17h45
  3. [XSLT] problème de boucle imbriquée en xsl/xpath
    Par lol88 dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 30/10/2009, 18h30
  4. [XSLT] Boucles imbriquées qui ne marchent pas :s
    Par Fatjo dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 11/10/2007, 10h35
  5. Boucles imbriquées
    Par Immobilis dans le forum ASP
    Réponses: 28
    Dernier message: 14/01/2005, 13h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo