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

XSL/XSLT/XPATH XML Discussion :

Parcourir xml en xsl avec une recursive


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Mai 2009
    Messages : 111
    Points : 63
    Points
    63
    Par défaut Parcourir xml en xsl avec une recursive
    J'éprouve quelques difficultés en effet à parcourir mon xml en xsl afin de l'afficher dans un tableau.

    Voila le xml :

    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
    23
    24
    <menus>
    <xml>
        <tree>
        <menu id="1" title="Menu1"> 
            <menu id="2"  title="Sous-Menu1" ></menu>
            <menu id="3"  title="Sous-Menu2" >
                <menu id="4"  title="Sous-Sous-Menu1" ></menu>
                <menu id="5"  title="Sous-Sous-Menu2" ></menu>
             </menu>   
            <menu id="6"  title="Sous-Menu3"></menu>    
        </menu>
        <menu id="7" title="Menu2"> 
            <menu id="8"  title="Sous-Menu1" >
                <menu id="9"  title="Sous-Sous-Menu1" ></menu>
                <menu id="10"  title="Sous-Sous-Menu2" ></menu>
            </menu>
        </menu>
        <menu id="11" title="Menu3"> 
            <menu id="12"  title="Sous-Menu1" ></menu>
            <menu id="13"  title="Sous-Menu2" ></menu>
        </menu>      
    </menus>
    </tree>
    </xml>
    Mon objectif étant de parcourir mon xml en insérant dans la 1iere colonne les menus 2iem colonne sous-menus 3ieme les sous-sous-menus etc .. Sans qu'il y ait de limite.

    J'ai donc pensé à utiliser une fonction récursive voici donc le code xsl que 'jai mis en place et qui ne fonctionne pas ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <xsl:template match="/xml/tree/menus">
         <table>	
                  <xsl:apply-templates select="menu" />
         </table>
         <xsl:template match="menu" name="menu">
                 <tr>
                         <td><xsl:value-of select="title" /></td>
                 </tr>
                 <xsl:for-each select="menu">
                          <xsl:call-template name="menu" />
                 </xsl:for-each>
          </xsl:template>
    </xsl:template>
    J'espere avoir été assez clair, je suis un peu bloqué la mon cerveau boucle sans fin

    Merci d'avance, Cordialement.

    Tristan

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Mai 2009
    Messages : 111
    Points : 63
    Points
    63
    Par défaut
    Je me demande si cela n'a pas un lien avec les balises
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    et

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xsl:transform version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    A méditer ...

  3. #3
    Membre émérite
    Avatar de polymorphisme
    Homme Profil pro
    Publishing
    Inscrit en
    Octobre 2009
    Messages
    1 460
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Publishing
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2009
    Messages : 1 460
    Points : 2 371
    Points
    2 371
    Par défaut
    Bonjour,

    ton Xml n'est pas bien formé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <menus>
    <xml>
        <tree>
           ....
    </menus>
    </tree>
    </xml>
    J'imagine que c'est plutot cela que tu voulais écrire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <xml>
    <menus>
        <tree>
           ....
    </menus>
    </tree>
    </xml>

Discussions similaires

  1. Récupérer informations d'une balise XML en XSL avec l'ID
    Par Casper785 dans le forum XML/XSL et SOAP
    Réponses: 4
    Dernier message: 10/03/2012, 02h35
  2. [POO] parcourir un objet json avec une boucle for in
    Par bucheron007 dans le forum Général JavaScript
    Réponses: 13
    Dernier message: 19/01/2009, 12h55
  3. Comment parcourir un fichier texte avec une boucle ?
    Par kikica dans le forum Langage
    Réponses: 2
    Dernier message: 15/11/2005, 17h13
  4. XML et XSL avec balises prefixees
    Par mamouth2005 dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 07/06/2005, 14h36

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