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 :

[débutante][XSLT] Afficher des attributs


Sujet :

XSL/XSLT/XPATH XML

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 2
    Par défaut [débutante][XSLT] Afficher des attributs
    Bonsoir!
    Je débute en XML/XSL et je bloque sur un point:

    Voila un extrait de mon fichier XML:

    -------------------------------------------------------------
    <listeproduit>
    <produit refProduit='RFPO4'>
    <nom>meuble</nom>
    <prix>50</prix>
    <piece refPiece='pl01'>
    <materiau>bois</materiau>
    <nbPiece>3</nbPiece>
    </piece>
    <piece refPiece='plas89'>
    <materiau>plastique</materiau>
    <nbPiece>3</nbPiece>
    </piece>
    (...)
    -------------------------------------------------------------

    Je doit créer un fichier XSL pour n'afficher que les produits, et leurs pieces, si celle si sont de type "bois".

    Mon fichier XSL:

    <table border="1" cellspacing="0" cellpadding="3">
    <tr bgcolor="#FFFF00">
    <td>Nom du meuble</td>
    <td>Reference de la piece</td>
    <td>Type de materiau</td>
    </tr>
    <xsl:for-each select="listeproduit/produit/piece[materiau='bois']"> jusque la, ok
    <tr>
    <td><xsl:value-of select="nom"/></td>
    <td><xsl:value-of select="refPiece"/></td>
    <td><xsl:value-of select="materiau"/></td>
    </tr>
    </xsl:for-each>
    </table>

    ----------

    Au final, j'ai bien le materiau, mais impossible d'avoir la refPiece. Alors que si je l'écrit de cette maniere dans mon fichier.xml...

    <piece>
    <refPiece>pl01</refPiece> <materiau>bois</materiau>
    <nbPiece>3</nbPiece>
    <taille>40 cm</taille>
    </piece>

    ... ça marche. Mais comment faire pour que ça fonctionne également avec la 1ere solution de mon XML?

    Autre probleme, je n'arrive pas à afficher le nom du produit non plus...

    Si quelqu'un pense pouvoir m'aider je lui en serais reconnaissante!

  2. #2
    Membre Expert Avatar de alain.couthures
    Profil pro
    Gérant
    Inscrit en
    Avril 2007
    Messages
    902
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Gérant

    Informations forums :
    Inscription : Avril 2007
    Messages : 902
    Par défaut
    Pour refPiece, c'est très simple car c'est un attribut et non pas un élément : il suffit de préfixer par @ ce qui donne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xsl:value-of select="@refPiece"/>
    Pour nom, il faut remonter l'arborescence :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xsl:value-of select="ancestor::produit/nom"/>

  3. #3
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 2
    Par défaut yep
    Yep merci bien ça marche pour la reference!!
    Mais pas pour le nom du produit par contre...
    J'ai une erreur sur les deux fois deus points "::"
    Et lorque j'en met qu'un, mon tableau s'affiche mais toujours sans le nom...

    Toutefois merci encore pour ma référence.

Discussions similaires

  1. [XSLT] afficher des attributs ajouter
    Par BOLARD dans le forum XSL/XSLT/XPATH
    Réponses: 8
    Dernier message: 15/12/2010, 12h44
  2. [XSLT] écrire des attribut dans une balise
    Par DrDam dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 03/04/2008, 13h12
  3. [Débutant][XSLT] Gérer des tags XML identiques
    Par Michel_be dans le forum XSL/XSLT/XPATH
    Réponses: 7
    Dernier message: 19/09/2007, 14h57
  4. [XSLT] Afficher un attribut d'un noeud pere
    Par Oberown dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 03/10/2006, 11h10
  5. [XSLT] Dédoublonner des attributs
    Par 242 dans le forum XSL/XSLT/XPATH
    Réponses: 6
    Dernier message: 10/11/2005, 15h44

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