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 :

[XSLT] Arbre XML -> Arbre HTML


Sujet :

XSL/XSLT/XPATH XML

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    FT
    FT est déconnecté
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3
    Par défaut [XSLT] Arbre XML -> Arbre HTML
    Bonjour,

    je voulais savoir si quelqu'un connaissait une méthode pour transformer un arbre XML en un arbre HTML via XSL par exemple: j'ai une liste de messages parmi lesquels certains messages ont des fils etc. je voulais mettre tout ce beau monde dans un tableau qui colore 1 ligne sur 2 en gris est - ce possible ???

    Merci de votre aide,

    FT

  2. #2
    Membre éclairé Avatar de luta
    Inscrit en
    Novembre 2003
    Messages
    1 038
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 038
    Par défaut
    bah faut que tu testes la position de ton noeud
    si c paire ou inmpaire et manque...

  3. #3
    FT
    FT est déconnecté
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3
    Par défaut
    En fait je me suis mal exprimé: je veux retrouver la structure arborescente dans le html (indentation) dans un tableau avec un message par ligne...

    Merci néanmoins pour la réponse

    ++

    FT

  4. #4
    Membre éclairé Avatar de luta
    Inscrit en
    Novembre 2003
    Messages
    1 038
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 038
    Par défaut
    si tu mettais un exemple je pense que l on pourrait comprendre

  5. #5
    FT
    FT est déconnecté
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3
    Par défaut
    voila j'ai un xml qui ressemble a ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     
    <message auteur="bob" ... />
    <message auteur="bill" ...>
        <message auteur="bob" ...>
            <message auteur="john" .../>
        </message>
    </message>
     
    ...
    et je voudrais le transformer en tableau html

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     
    ---------------------------------------
    |  message auteur: bob |
    ---------------------------------------
    |  message auteur : bill  |
    ---------------------------------------
    |  -> |   message auteur : bob |
    ---------------------------------------
    |  -> |  -> |   message auteur : john |
    ---------------------------------------
    J'espere que vous comprendrez la dernière représentation

    Merci de votre aide,
    Cordialement,

    FT

  6. #6
    Membre éclairé Avatar de luta
    Inscrit en
    Novembre 2003
    Messages
    1 038
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 038
    Par défaut
    bon moi g écrit un truc comme ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <xsl:template match="/">
    	<xsl:param name="indent"/><!--indentation passée en paramètre-->
    	<xsl:variable name="myIndent" select="    "/><!--constante-->
    	<tr>
    		<xsl:for-each select="message">
    			<td><xsl:value-of select="indent"/><xsl:value-of select="."/></td>
    				<xsl:apply-templates select="message">
    					<xsl:with-param name="myIndent" select="concat($indent,$myIndent)"/>
    <xsl:apply-templates/>
    		</xsl:for-each>
    	</tr>
    </xsl:template>
    mais étant donné que je ne suis encore qu un enfant ds le domaine du XSL, je compte sur les "pro" de la chose (GrandFather, Erwy...) pour peut controler ce que g écrit

    donc c pas sur du tout que ça marche et en plus je doute de la position de l'appel du template

    voila...enfin bon j'aurais essayé (désolé si ça marche pas )

  7. #7
    Rédacteur

    Avatar de Erwy
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2003
    Messages
    4 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2003
    Messages : 4 967
    Par défaut
    Il y a de 'idee, le for-each n'est pas necessaire et si j'ai bien compris le tableau(une cellule par ligne?)
    tu a mal place le tr

    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
    <xsl:template match="/"> 
      <table>
                <xsl:apply-templates select="message"> 
    </table>
     
    </xsl:template>
    <xsl:template match="message"> 
       <xsl:param name="indent"/><!--indentation passée en paramètre--> 
       <xsl:variable name="myIndent" select="    "/><!--constante--> 
       <tr> 
     
             <td><xsl:value-of select="indent"/><xsl:value-of select="."/>
            </td> 
        </tr> 
                <xsl:apply-templates select="message"> 
                   <xsl:with-param name="myIndent" select="concat($indent,$myIndent)"/> 
               </xsl:apply-templates>
     
     
    </xsl:template>

  8. #8
    Membre éclairé Avatar de luta
    Inscrit en
    Novembre 2003
    Messages
    1 038
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 038
    Par défaut
    crotte....

Discussions similaires

  1. [XSLT] transformation xml en code html
    Par SkyBack dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 02/11/2009, 10h02
  2. [XSLT] parcours de deux branche d'un arbre XML et cumul de montant
    Par meurdock56 dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 06/04/2007, 17h21
  3. [XSLT] style du texte, parcours arbre XML
    Par helter_skelter dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 28/11/2006, 23h10
  4. Réponses: 2
    Dernier message: 03/06/2005, 11h00
  5. XSL pour visualiser arbre XML sous forme de tableau en HTML
    Par mattmat dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 28/03/2003, 10h55

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