IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
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

XML/XSL et SOAP Discussion :

Créer une arborescence en XSL à partir d'un fichier XML


Sujet :

XML/XSL et SOAP

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2008
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Distribution

    Informations forums :
    Inscription : Novembre 2008
    Messages : 49
    Points : 32
    Points
    32
    Par défaut Créer une arborescence en XSL à partir d'un fichier XML
    Bonjour
    Je suis débutant en XML/XSLT et voilà le problème que je rencontre :

    1- J'ai un fichier XML (généré automatiquement donc je ne peux changer sa structure) :

    <?xml version="1.0" encoding="ISO-8859-1"?>
    <report>
    <row id='1'>
    <column id='1' name='GPE_RUBRIQUES'>Collaborateurs</column>
    <column id='2' name='RUBRIQUES'>Absence</column>
    <column id='3' name='SS_RUBRIQUES'>Avis absence</column>
    </row>
    <row id='2'>
    <column id='1' name='GPE_RUBRIQUES'>Collaborateurs</column>
    <column id='2' name='RUBRIQUES'>Absence</column>
    <column id='3' name='SS_RUBRIQUES'>Gestion congés</column>
    </row>
    <row id='3'>
    <column id='1' name='GPE_RUBRIQUES'>Informatique</column>
    <column id='2' name='RUBRIQUES'>Communication DSI</column>
    <column id='3' name='SS_RUBRIQUES'>Bilan 1</column>
    </row>
    <row id='4'>
    <column id='1' name='GPE_RUBRIQUES'>Informatique</column>
    <column id='2' name='RUBRIQUES'>Communication DSI</column>
    <column id='3' name='SS_RUBRIQUES'>Bilan 2</column>
    </row>
    </report>

    2- J'aimerais avec une feuille de style XSL avoir le résultat suivant :

    Collaborateur
    Absence
    Avis absence
    Gestion congés
    Informatique
    Communication DSI
    Bilan 1
    Bilan 2

    3- J'ai vu que certains utilisaient "preceding-sibling" mais je ne comprends pas trop vu que je débute !
    J'ai fait cela dans mon XSL :

    <xsl:template match="/report">
    <html>
    <body>
    <table border="1">
    <xsl:for-each select="row/column[not(@name = preceding-sibling::row/column/@name)]">
    <tr><td><xsl:value-of select="@name"/></td></tr>
    </xsl:for-each>
    </table>
    </body>
    </html>
    </xsl:template>

    et j'obtiens le résultat suivant
    GPE_RUBRIQUES
    RUBRIQUES
    SS_RUBRIQUES
    GPE_RUBRIQUES
    RUBRIQUES
    SS_RUBRIQUES
    GPE_RUBRIQUES
    RUBRIQUES
    SS_RUBRIQUES
    GPE_RUBRIQUES
    RUBRIQUES
    SS_RUBRIQUES

    Si quelqu'un peu m'aider pour solutionner mon problème et obtenir le résultat que je cherche à avoir ça serait trop top !!!!

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Faudrait être plus clair sur l'arborescence que tu veux obtenir.
    Par exemple, si tu veux obtenir un tableau, montrer le code du tableau.

    À priori, la question c'est de
    - regrouper les GPE_RUBRIQUES
    - à l'intérieur d'un même GPE_RUBRIQUES, regrouper les RUBRIQUES.

    Si c'est ça, je confirme, c'est chiant.

    Regrouper les GPE_RUBRIQUES, ça se fait avec une méthode Muench.

    Regrouper les RUBRIQUES dans les GPE_RUBRIQUES, c'est une méthode à appliquer à l'intérieur du premier regroupement, avec la clé qui porte sur GPE_RUBRIQUES et sur RUBRIQUES.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2008
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Distribution

    Informations forums :
    Inscription : Novembre 2008
    Messages : 49
    Points : 32
    Points
    32
    Par défaut
    Tout d'abord merci pour ta réponse rapide !
    ah oui désolé le rendu de ce que je veux ne c'est pas bien présenté sur le forum
    ce que je veux comme résultat est :

    Collaborateur
    Abscence
    Avis absence
    Gestion congés
    Informatique
    Communication DSI
    Bilan 1
    Bilan 2

  4. #4
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Ok. Ben ça confirme ce que j'ai dit :
    - Regroupement par méthode Muench des GPE_RUBRIQUES
    - Regroupement par méthode Muench imbriquée, des RUBRIQUES

    Je conseille d'y aller par étapes. Genre,
    D'abord faire des tutoriels et apprendre le XSLT.
    Ensuite, faire le regroupement des GPE_RUBRIQUES.
    Ensuite, faire les deux regroupements.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2008
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Distribution

    Informations forums :
    Inscription : Novembre 2008
    Messages : 49
    Points : 32
    Points
    32
    Par défaut
    ok un super grand merci pour ton aide...
    je plonge les deux pieds devant dans un tuto de XSL et la méthode de Muench
    @++ et que la force soit avec toi !

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2008
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Distribution

    Informations forums :
    Inscription : Novembre 2008
    Messages : 49
    Points : 32
    Points
    32
    Par défaut
    bon j'ai réussi à faire mon premier niveau "Regroupement par méthode Muench des GPE_RUBRIQUES" :

    <xsl:key name='regrouper_GR' match="llcolumn[@id=1]" use="."/>
    <xsl:template match="/">
    <xsl:for-each select="livelink/llreport/llrow/llcolumn[generate-id(.)=generate-id(key('regrouper_GR',.)[1])]">
    <groupe_rubrique>
    <xsl:variable name="groupe_rubrique" select="llcolumn[@id=1]"/>
    <xsl:value-of select='.'/>
    </groupe_rubrique><br />
    </xsl:for-each>
    </xsl:template>
    </xsl:stylesheet>

    J'ai donc le résultat suivant :
    <groupe_rubrique>Collaborateurs</groupe_rubrique>
    <groupe_rubrique>Informatique</groupe_rubrique>

    Pour faire le "Regroupement par méthode Muench imbriquée, des RUBRIQUES" là ça se complique je ne pige pas quoi mettre dans mon deuxième for-each pour faire le lien avec le premier ?!? (bon ok je ne suis pas très clair )
    j'ai fait cela :

    <xsl:key name='regrouper_GR' match="llcolumn[@id=1]" use="."/>
    <xsl:key name='rubriques' match='llcolumn[@id=2]' use="."/>
    <xsl:template match="/">
    <xsl:for-each select="livelink/llreport/llrow/llcolumn[generate-id(.)=generate-id(key('regrouper_GR',.)[1])]">
    <groupe_rubrique>
    <xsl:variable name="groupe_rubrique" select="llcolumn[@id=1]"/>
    <xsl:value-of select='.'/>
    <xsl:for-each select="livelink/llreport/llrow/llcolumn[generate-id(.)=generate-id(key('rubriques',.)[1])]">
    <rubrique>
    <xsl:value-of select='.'/>
    </rubrique><br />
    </xsl:for-each>
    </groupe_rubrique><br />
    </xsl:for-each>
    </xsl:template>

    pas de résultat avec d'afficher mes RUBRIQUES de mes GROUPE_RUBRIQUES

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2008
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Distribution

    Informations forums :
    Inscription : Novembre 2008
    Messages : 49
    Points : 32
    Points
    32
    Par défaut
    Personne pour m'aider !!!

  8. #8
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Woh, du calme. C'est une usine à gaz ton truc, et le rythme de réponses est pas si rapide que ça.

    Bon. Fais comme Jim Raynor : "Étape par étape."

    Voyons ton :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <xsl:key name='regrouper_GR' match="llcolumn[@id=1]" use="."/>
    
    <xsl:template match="/">
      <xsl:for-each select="livelink/llreport/llrow/llcolumn[generate-id(.)=generate-id(key('regrouper_GR',.)[1])]">
        <groupe_rubrique>
          <xsl:variable name="groupe_rubrique" select="llcolumn[@id=1]"/>
          <xsl:value-of select='.'/>
        </groupe_rubrique>
        <br />
      </xsl:for-each>
    </xsl:template>
    Déjà, utilise la balise CODE, et indente.

    Ensuite, ton <xsl:variable> en rouge, est inutilisé, donc inutile. Vire.

    Enfin, ce n'est pas suffisant.
    Essaie de mettre, dans <groupe_rubrique>, tous les SS_RUBRIQUES qui en font partie. Pour l'instant, on va ignorer le niveau des RUBRIQUES.

    Si tu y arrives, là il sera temps d'aller à l'étape suivante.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  9. #9
    Nouveau membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2008
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Distribution

    Informations forums :
    Inscription : Novembre 2008
    Messages : 49
    Points : 32
    Points
    32
    Par défaut
    Désolé de mon impatience !!! Je sais ce n'est pas simple tout cela et encore moins pour moi.

    Ok pour la balise CODE que je n'avais pas vu

    J'ai supprimé la ligne en rouge qui ne me sert à rien tu as raison.

    Sinon le problème est que je ne vois pas comment faire ça : "Essaie de mettre, dans <groupe_rubrique>, tous les SS_RUBRIQUES qui en font partie"

    Je pense qu'il faut faire un deuxième for-each dans le premier d'ou la déclaration d'une deuxième clé mais je ne vois pas comment faire matcher les deux ?!

    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
    <xsl:key name='regrouper_GR' match="llcolumn[@id=1]" use="."/>
    <xsl:key name='rubriques' match='llcolumn[@id=2]' use="."/>
     
    <xsl:template match="/">
         <xsl:for-each select="livelink/llreport/llrow/llcolumn[generate-id(.)=generate-id(key('regrouper_GR',.)[1])]">
              <groupe_rubrique>
                   <xsl:value-of select='.'/>
                   <xsl:for-each select="livelink/llreport/llrow/llcolumn[generate-id(.)=generate-id(key('rubriques',.)[1])]">
                        <rubrique>
                             <xsl:value-of select='.'/>
                        </rubrique><br />
                   </xsl:for-each>
              </groupe_rubrique><br />
         </xsl:for-each>
    </xsl:template>

  10. #10
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Citation Envoyé par maxou2009 Voir le message
    Je pense qu'il faut faire un deuxième for-each dans le premier
    Oui

    Citation Envoyé par maxou2009 Voir le message
    d'ou la déclaration d'une deuxième clé
    Non.

    On peut très bien faire un for-each sans clé. En fait, je trouve que les clés ne sont utiles que pour la méthode Muench, et pour l'instant je ne t'en demande qu'une.

    Grosso-modo :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <xsl:variable name="gr_name" select="."/>
    <xsl:for-each select="//llcolumn[@id=2 and . = $gr_name]">
      <!-- S'en servir -->
    </xsl:for-each>
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  11. #11
    Nouveau membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2008
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Distribution

    Informations forums :
    Inscription : Novembre 2008
    Messages : 49
    Points : 32
    Points
    32
    Par défaut
    Dans ton code "<xsl:for-each select="//llcolumn[@id=2 and . = $gr_name]">"

    Permet de matcher si contenu de //llcolumn[@id=2] = groupe_rubrique ?
    je ne comprends pas bien le sens ?
    Désolé mais quand je t'ai dit que j'étais un débutant je le suis d'ou mes remarques un peu primaire mais j'aime bien comprendre et non faire bêtement les choses !

  12. #12
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Citation Envoyé par maxou2009 Voir le message
    Dans ton code "<xsl:for-each select="//llcolumn[@id=2 and . = $gr_name]">"

    Permet de matcher si contenu de //llcolumn[@id=2] = groupe_rubrique ?
    je ne comprends pas bien le sens ?
    Désolé mais quand je t'ai dit que j'étais un débutant je le suis d'ou mes remarques un peu primaire mais j'aime bien comprendre et non faire bêtement les choses !
    C'est normal, je me suis trompé . Je me disais bien que je devais rater quelque chose.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <xsl:variable name="gr_name" select="."/>
    <xsl:for-each select="//llcolumn[@id=2 and ../llcolumn[@id = 1] = $gr_name]">
      <!-- S'en servir -->
    </xsl:for-each>
    Il s'agit de sélectionner toutes les llcolumn[@id=2], qui sont frères d'un llcolumn[@id=1] de même contenu que ton groupe_rubrique en cours.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  13. #13
    Nouveau membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2008
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Distribution

    Informations forums :
    Inscription : Novembre 2008
    Messages : 49
    Points : 32
    Points
    32
    Par défaut
    ok je comprends mieux ainsi

    j'investigue dans ce sens et te tiens au courant !

  14. #14
    Nouveau membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2008
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Distribution

    Informations forums :
    Inscription : Novembre 2008
    Messages : 49
    Points : 32
    Points
    32
    Par défaut
    j'arrive a avoir les rubriques d'un groupe de rubrique avec les 2 for-each imbriqués :
    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
     
    <xsl:key name='regrouper_GR' match="llcolumn[@id=1]" use="."/> 
    <xsl:template match="/">
        <xsl:for-each select="livelink/llreport/llrow/llcolumn[generate-id(key('regrouper_GR', .)) = generate-id(.)]">
            <groupe_rubrique>
                <xsl:value-of select='.'/>
                <xsl:variable name="groupe_rubrique" select="."/>
                <xsl:for-each select="//llcolumn[@id=2 and ../llcolumn[@id = 1] = $groupe_rubrique]">
                    <rubrique>
                        <xsl:value-of select='.'/>
                    </rubrique>
                </xsl:for-each>
            </groupe_rubrique>
         </xsl:for-each>
    </xsl:template>
    Résultat :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Collaborateurs
        Absence/Congés payés/J35
        Absence/Congés payés/J35 
        Absence/Congés payés/J35 
    Finance
        Finance manual 
        Finance manual 
        Internal control manual
    Comment je fais pour avoir maintenant les sous-rubriques des rubriques ?
    Est ce que je dois utiliser à nouveau Muench ?

  15. #15
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Citation Envoyé par maxou2009 Voir le message
    Comment je fais pour avoir maintenant les sous-rubriques des rubriques ?
    Est ce que je dois utiliser à nouveau Muench ?
    Oui. L'ennui c'est qu'il doit porter à la fois sur la sur-rubrique et sur la rubrique.

    Or, une clé n'a qu'un seul "use". Je suggère de se baser sur la concaténation de la sur-rubrique et de la rubrique, séparées par un '/' parce que ce caractère a peu de chances d'apparaître :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <xsl:key name='regrouper_RUB'
      match="llcolumn[@id=2]"
      use="concat(../llcolumn[@id=1], '/', .)"/>
    Dans le cas de ta première row, la clé lui associera la valeur 'Collaborateurs/Absence'
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  16. #16
    Nouveau membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2008
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Distribution

    Informations forums :
    Inscription : Novembre 2008
    Messages : 49
    Points : 32
    Points
    32
    Par défaut
    mes sous rubriques ne veulent pas se lister

    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
    16
    17
    18
    19
    20
    21
    22
     
    <xsl:key name='regrouper_GR' match="llcolumn[@id=1]" use="."/>
    <xsl:key name='regrouper_R' match="llcolumn[@id=2]" use="concat(../llcolumn[@id=1], '/', .)"/> 
    <xsl:template match="/">
        <xsl:for-each select="livelink/llreport/llrow/llcolumn[generate-id(key('regrouper_GR', .)) = generate-id(.)]">
            <groupe_rubrique>
                <xsl:value-of select='.'/>
                <xsl:variable name="groupe_rubrique" select="."/>
                <xsl:for-each select="//llcolumn[@id=2 and ../llcolumn[@id = 1] = $groupe_rubrique]">
                    <rubrique>
                        <xsl:value-of select='.'/>
                             <xsl:for-each select="//llcolumn[generate-id(key('regrouper_R', .)) = generate-id(.)]">
     
                                  <sous_rubrique>
                                       <xsl:value-of select='.'/>
                                  </sous_rubrique><br />
                            </xsl:for-each>
                    </rubrique>
                </xsl:for-each>
            </groupe_rubrique>
         </xsl:for-each>
    </xsl:template>
    Résultat :
    Collaborateurs
    Absence/Congés payés/J35
    Absence/Congés payés/J35
    Absence/Congés payés/J35

    Finance
    Finance manual
    Finance manual
    Internal control manual

  17. #17
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    'Faudrait que tu essaies de réfléchir au sens de ton code...

    Boucle principale : toutes les différentes sur-rubriques. => OK.

    Boucle secondaire : toutes les rubriques appartenant à cette sur-rubrique. => Quoi ?
    Tu veux toutes les différentes rubriques appartenant à cette sur-rubrique.
    C'est là qu'il faut utiliser la deuxième clé.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  18. #18
    Nouveau membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2008
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Distribution

    Informations forums :
    Inscription : Novembre 2008
    Messages : 49
    Points : 32
    Points
    32
    Par défaut
    Boucle principale : toutes les différentes sur-rubriques. => OK.
    Je suis d'accord que l'on fait un premier for-each avec la première key qui me regroupe tous les "groupes de rubrique" soit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <xsl:key name='regrouper_GR' match="llcolumn[@id=1]" use="."/>
    <xsl:template match="/">
        <xsl:for-each select="livelink/llreport/llrow/llcolumn[generate-id(key('regrouper_GR', .)) = generate-id(.)]">
            <groupe_rubrique>
                <xsl:value-of select='.'/>
            </groupe_rubrique>
         </xsl:for-each>
    </xsl:template>
    Cela me donnais le bon résultat : liste des groupes de rubrique sans doublons
    Collaborateurs
    Finance
    Boucle secondaire : toutes les rubriques appartenant à chaque "groupes de rubrique".
    Là tu m'avais dit de ne pas faire une nouvelle key et d'utiliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <xsl:for-each select="//llcolumn[@id=2 and ../llcolumn[@id = 1] = $groupe_rubrique]">
        <rubrique>
            <xsl:value-of select='.'/>
        </rubrique>
    </xsl:for-each>
    Cela me donnais le bon résultat : iste des groupes de rubrique sans doublons avec les rubriques de chacun
    Collaborateurs
    Absence/Congés payés/J35
    Absence/Congés payés/J35
    Absence/Congés payés/J35

    Finance
    Finance manual
    Finance manual
    Internal control manual
    Là déjà ce que je ne comprends pas car il ne fallait pas avoir la liste des rubriques sans doublons pour chaque groupes de rubrique ?

  19. #19
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Citation Envoyé par maxou2009 Voir le message
    Là tu m'avais dit de ne pas faire une nouvelle key et d'utiliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <xsl:for-each select="//llcolumn[@id=2 and ../llcolumn[@id = 1] = $groupe_rubrique]">
        <rubrique>
            <xsl:value-of select='.'/>
        </rubrique>
    </xsl:for-each>
    Cela me donnais le bon résultat : iste des groupes de rubrique sans doublons avec les rubriques de chacun
    Ça c'est à l'étape où on ne faisait qu'un seul regroupement, pour maîtriser le sujet.
    Étape maîtrisée, maintenant on passe à l'étape suivante : faire les deux regroupements.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  20. #20
    Nouveau membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2008
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Distribution

    Informations forums :
    Inscription : Novembre 2008
    Messages : 49
    Points : 32
    Points
    32
    Par défaut
    d'accord maintenant on oublie pour faire les 2 regroupements c'est bien cela ?
    D'ou l'utilisation de la deuxième key pour faire le deuxième for-each.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 8
    Dernier message: 02/03/2015, 21h22
  2. [XL-2010] Créer une liste de données à partir d'un fichier xml
    Par graphicsxp dans le forum Excel
    Réponses: 0
    Dernier message: 05/12/2012, 10h00
  3. Créer une base de données à partir d'un fichier .dmp
    Par funboard dans le forum Import/Export
    Réponses: 1
    Dernier message: 08/12/2008, 17h14
  4. Générer une page ASP.Net à partir d'un fichier XML/XSL
    Par Willthelegend dans le forum ASP.NET
    Réponses: 2
    Dernier message: 01/07/2008, 13h13
  5. Créer une arborescence avec XSL
    Par kobe dans le forum XSL/XSLT/XPATH
    Réponses: 19
    Dernier message: 13/06/2006, 09h54

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