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] Comment afficher un tableau à partir d'un xml complexe ?


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    79
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 79
    Points : 72
    Points
    72
    Par défaut [XSLT] Comment afficher un tableau à partir d'un xml complexe ?
    Bonjour,

    mon sujet est un peu complexe...je m'explique.
    J'ai un xml qui a cette forme:
    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
    <root>
       <item>
          <media></media>
       </item>
       <item>
          <media></media> 
          <media></media>
          <media></media>
       </item>
       <item>
          <media></media>
       </item>
       <item>
          <media></media> 
          <media></media>
       </item>
    </root
    J'ai plusieurs balises "item" dans une balise "root". Chaque balise "item" peut comporter une ou plusieurs "media". Je dois via Xslt afficher deux pages:
    • la première contient les "media" qui sont uniques dans les balises "item"

    • la seconde contient les "media" qui sont plusieurs dans les balises "item"


    Les "media" sont affichés dans un tableau de 2 colonnes dans les deux pages.
    Je dois donc fermer un TR tous les deux "media". Pour cela j'ai besoin de compter le nombre de "media" de trouvant avant le noeud courant. Pour l'instant j'ai un code comme celui-ci (pour chaque media):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <xsl:if test="((count(preceding-sibling::media)) mod 2) = 0">
       <xsl:text disable-output-escaping="yes"><tr></xsl:text>
    </xsl:if>
    Affichage du tableau
    <xsl:if test="((count(preceding-sibling::media)+1) mod 2 = 0">
       <xsl:text disable-output-escaping="yes"></tr></xsl:text>
    </xsl:if>
    Malheureusement il me fait une erreur, il me compte tous les media.
    Je n'arrive pas à compter tous les "media" qui sont dans un "item" qui possède plusieurs "media".
    Avez-vous une idée ?

  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,

    je suppose que dans tes tableaux tu as un <item> par ligne ? Tu devrais détailler un peu plus le tableau à obtenir.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    79
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 79
    Points : 72
    Points
    72
    Par défaut
    En fait dans le tableau on oublie la notion d'item, on affiche juste les media.

    Par exemple, avec ce 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
    <root>
       <item>
          <media0></media0>
       </item>
       <item>
          <media1></media1> 
          <media2></media2>
          <media3></media3>
       </item>
       <item>
          <media4></media4>
       </item>
       <item>
          <media5></media5> 
          <media6></media6>
       </item>
    </root
    Pour la page ou on affiche tous les media qui sont contenus dans les item qui ont plusieurs media, je veux obtenir un tableau comme ca:

    | media1 | media2 |
    | media3 | media5 |
    | media6 |

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    79
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 79
    Points : 72
    Points
    72
    Par défaut
    En fait c'est bon je me suis arrangé pour modifier le xml.

    Merci

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

Discussions similaires

  1. [XSLT] comment afficher toutes les données d'un fichier xml ?
    Par bwwilly dans le forum XSL/XSLT/XPATH
    Réponses: 19
    Dernier message: 27/06/2007, 16h21
  2. [MySQL] Comment afficher mon tableau
    Par phpaide dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 20/04/2006, 15h12
  3. [XSLT] comment afficher tous les noms de balises
    Par stanilas dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 12/11/2005, 22h24
  4. Comment afficher un tableau dans TStringGrid ?
    Par doubledj dans le forum Composants VCL
    Réponses: 3
    Dernier message: 19/09/2005, 02h21
  5. comment afficher l'etat a partir de delphi 6
    Par devalender dans le forum Bases de données
    Réponses: 2
    Dernier message: 03/06/2004, 19h41

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