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 :

[XML-XSLT] Données dans un tableau


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre habitué Avatar de Hoegaarden
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    362
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2004
    Messages : 362
    Points : 175
    Points
    175
    Par défaut [XML-XSLT] Données dans un tableau
    Salut a tous !

    voici mon fichier 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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
     
      <?xml version="1.0" encoding="utf-8" standalone="yes" ?> 
    - <Impression>
    - <Semaine Numero="42">
    - <Section Numero="03800">
      <Nom>AS</Nom> 
      </Section>
    - <Section Numero="03900">
      <Nom>AL</Nom> 
      <Nom>GS</Nom> 
      <Nom>IY</Nom> 
      </Section>
    - <Section Numero="04400">
      <Nom>BL</Nom> 
      <Nom>CS</Nom> 
      <Nom>DS</Nom> 
      <Nom>MO</Nom> 
      <Nom>TR</Nom> 
      <Nom>VS</Nom> 
      </Section>
      </Semaine>
    - <Semaine Numero="43">
    - <Section Numero="03800">
      <Nom>AS</Nom> 
      </Section>
    - <Section Numero="03900">
      <Nom>AC</Nom> 
      <Nom>GS</Nom> 
      <Nom>IY</Nom> 
      </Section>
    - <Section Numero="04400">
      <Nom>BL</Nom> 
      <Nom>CS</Nom> 
      <Nom>DS</Nom> 
      </Section>
      </Semaine>
    - <Semaine Numero="44">
    - <Section Numero="03800">
      <Nom>AS</Nom> 
      </Section>
    - <Section Numero="03900">
      <Nom>AC</Nom> 
      <Nom>GS</Nom> 
      <Nom>IY</Nom> 
      </Section>
    - <Section Numero="04400">
      <Nom>BL</Nom> 
      <Nom>CS</Nom> 
      <Nom>DS</Nom> 
      <Nom>MO</Nom> 
      <Nom>TR</Nom> 
      <Nom>VS</Nom> 
      </Section>
      </Semaine>
      </Impression>
    et je voudrais avoir en sorti un fichier html de ce style :

    ************************
    *Semaine*Section *Nom *
    * 42 * 3800 * AS *
    * ****************
    * * 3900 * AC *
    * * * GS *
    * * * IY *
    * ****************
    * * 4400 * BL *
    * * * CS *
    * * * DS *
    ************************
    Etc...

    cela pour chaque semaine
    donc ma question est simple comment faire avec un ficheir xslt
    merci

  2. #2
    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
    Bonjour,

    où rencontres-tu un problème ? D'autre part, pourrais-tu rédiger les règles de production de ton tableau en français, parce que l'exemple fourni n'est pas d'une grande clarté...
    FAQ XML
    ------------
    « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
    Giacomo Leopardi

  3. #3
    Membre habitué Avatar de Hoegaarden
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    362
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2004
    Messages : 362
    Points : 175
    Points
    175
    Par défaut
    ouias escuse c vrai que c pas tre clair je m en suis rendu compte en le postant

    en fait je voudrais donc un fichier HTML de ce type
    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
     
    <html>
    <body>
    <table border=1>
    <thead>
    <th>Numero de semaine</th>
    <th>Section</th>
    <th>Nom</th>
    </thead>
    <tr>
    <td>42</td>
    <td>3800</td>
    <td>AS</td>
    </tr>
    <tr>
    <td></td>
    <td>3900</td>
    <td>AC</td>
    </tr>
    <tr>
    <td></td>
    <td></td>
    <td>GS</td>
    </tr>
    <tr>
    <td></td>
    <td></td>
    <td>IY</td>
    </tr>
    <tr>
    <td></td>
    <td>4400</td>
    <td>BL</td>
    </tr>
    <tr>
    <td></td>
    <td></td>
    <td>CS</td>
    </tr>
    <tr>
    <td></td>
    <td></td>
    <td>DS</td>
    </tr>
    </table>
    </body>
    </html>
    voila ce que j'ai fait mais je me trompe avec le for et je m'mbrouille

    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
    25
    26
    27
    28
    29
    30
    31
    32
     
    <?xml version="1.0" encoding="utf-8" standalone="yes"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xsl:version="1.0">
    <xsl:template match="/">
    <html>   
    <body>
    <table border='1'>
    <thead>
    <th>Numero de semaine</th>
    <th>Section</th>
    <th>Nom</th>
    </thead>
    <xsl:for-each select="//Semaine">
    <tr>
    <td><xsl:value-of select="./@Numero"/></td>
    <xsl:for-each select="//Semaine/Section">
    <tr>
    <td><xsl:value-of select="./@Numero"/></td>
    </tr>
    </xsl:for-each>
    <xsl:for-each select="//Semaine//Section/Nom">
    <tr>
    <td><xsl:value-of select="."/></td>
    </tr>
    </xsl:for-each>
    </tr>    
    </xsl:for-each>
    </table>
    </body>
    </html>
    </xsl:template> 
    </xsl:stylesheet>

  4. #4
    Membre émérite
    Avatar de xavlours
    Inscrit en
    Février 2004
    Messages
    1 832
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 1 832
    Points : 2 410
    Points
    2 410
    Par défaut
    moi je suis plus récursif : <xsl:apply-templates>, si tu galères avec les for-each ca te simplifiera. Je m'y penche.
    "Le bon ni le mauvais ne me feraient de peine si si si je savais que j'en aurais l'étrenne." B.V.
    Non au langage SMS ! Je ne répondrai pas aux questions techniques par MP.
    Eclipse : News, FAQ, Cours, Livres, Blogs.Et moi.

  5. #5
    Membre émérite
    Avatar de xavlours
    Inscrit en
    Février 2004
    Messages
    1 832
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 1 832
    Points : 2 410
    Points
    2 410
    Par défaut
    Deja, tu as oublié la balise Impression !!
    Je ferais un truc genre :
    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    <?xml version="1.0" encoding="utf-8" standalone="yes"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xsl:version="1.0"> 
     
    <xsl:template match="/Impression">
      <html>   
      <body>
      <table border='1'>
      <thead>
      <th>Numero de semaine</th>
      <th>Section</th>
      <th>Nom</th>
      </thead>
     
      <xsl:apply-templates>
     
      </table>
      </body>
      </html>
    </xsl:template>
     
    <xsl:template match="Semaine">
      <tr>
      <td><xsl:value-of select="./@Numero"/></td>
      <xsl:apply-templates>
      </tr>
    </xsl:template>
     
    <xsl:template match="Section">
      <td><xsl:value-of select="./@Numero"/></td>
      <xsl:apply-templates>
    </xsl:template>
     
    <xsl:template match="Nom">
      <td><xsl:value-of select="."/></td>
    </xsl:template>
     
    </xsl:stylesheet>
    Vu qu'en apply-templates il considère des chemins relatifs ca simplifie vachement. J'espère que ca fonctionne(ca devrait te générer le html que t'as écrit).
    "Le bon ni le mauvais ne me feraient de peine si si si je savais que j'en aurais l'étrenne." B.V.
    Non au langage SMS ! Je ne répondrai pas aux questions techniques par MP.
    Eclipse : News, FAQ, Cours, Livres, Blogs.Et moi.

  6. #6
    Membre habitué Avatar de Hoegaarden
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    362
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2004
    Messages : 362
    Points : 175
    Points
    175
    Par défaut
    merci beaucoup c'était pas exactement ce que je voulais mais grace a ton code j'ai pu reussir a enfin arriver au bon résultat
    par contre une aute petite question comment mettre un saut de page a chaque nouveaux numéro de semaine
    merci

Discussions similaires

  1. Tri de données dans un tableau
    Par GESCOM2000 dans le forum Contribuez
    Réponses: 6
    Dernier message: 06/12/2006, 15h55
  2. [MySQL] Stocker des données dans un tableau
    Par LadyArwen dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 02/02/2006, 10h40
  3. Réponses: 3
    Dernier message: 11/01/2006, 17h44
  4. Réponses: 3
    Dernier message: 05/12/2005, 02h30
  5. Trier les données dans 1 tableau par ordre décroissant
    Par Blunet dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 23/11/2005, 09h56

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