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 :

syntaxe XSL pour table HTML


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre averti Avatar de The_Big_Lebowski
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2009
    Messages
    225
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2009
    Messages : 225
    Points : 304
    Points
    304
    Par défaut syntaxe XSL pour table HTML
    Bonjour, comment puis-je créer une table HTML depuis ces donnees XML

    <tableau row="3" col="3">
    <cell row="1" col="1">row 1 col 1</cell>
    <cell row="1" col="2">row 1 col 2</cell>
    <cell row="1" col="3">row 1 col 3</cell>
    <cell row="2" col="1">row 2 col 1</cell>
    <cell row="2" col="1">row 2 col 2</cell>
    <cell row="2" col="1">row 2 col 3</cell>
    <cell row="3" col="1">row 3 col 1</cell>
    <cell row="3" col="1">row 3 col 2</cell>
    <cell row="3" col="1">row 3 col 3</cell>
    </tableau>
    Merci

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    1 466
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 466
    Points : 1 610
    Points
    1 610
    Par défaut
    Salut,
    Voila une façon :
    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
    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
     <xsl:key match="//cell" use="@row" name="cells"/>
     
      <xsl:template match="/">
          <result>
            <table>
              <xsl:for-each select="//cell[generate-id()=generate-id(key('cells',@row))]">
              <xsl:variable name="row" select="@row"/>
                <tr>
                  <xsl:for-each select="//cell[@row=$row]">
                    <td><xsl:value-of select="text()"/></td>
                  </xsl:for-each>
                </tr>
             </xsl:for-each>
             </table>
          </result>
      </xsl:template>
     
    </xsl:stylesheet>

  3. #3
    Membre averti Avatar de The_Big_Lebowski
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2009
    Messages
    225
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2009
    Messages : 225
    Points : 304
    Points
    304
    Par défaut Merci
    Merci beaucoup Morbo C'est exactement ca
    Je confirme que la qualification de Membre émérite n'est pas usurpée.

  4. #4
    Expert éminent
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Points : 7 103
    Points
    7 103
    Par défaut
    hello Le Duke,

    Attention à ne générer l'id que pour le premier élément remonté par l'index ; à part cela, on peut même se passer de la variable, et réutiliser l'index
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <xsl:for-each select="//cell[generate-id()=generate-id(key('cells',@row)[1])]">
      <tr>
        <xsl:for-each select="key('cells', current()/@row)">
          <td><xsl:value-of select="text()"/></td>
        </xsl:for-each>
      </tr>
    </xsl:for-each>

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 17/11/2008, 11h17
  2. Réponses: 3
    Dernier message: 31/03/2006, 08h47
  3. [XSL] comment transformer ce fichier xml en une table html ?
    Par jlassira dans le forum XSL/XSLT/XPATH
    Réponses: 17
    Dernier message: 15/03/2006, 12h15
  4. 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