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 :

Obtenir la valeur d'un attribut avec des balises imbriquées


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 120
    Points : 69
    Points
    69
    Par défaut Obtenir la valeur d'un attribut avec des balises imbriquées
    Bonjour

    Le titre est plus difficile à comprendre que le problème, un exemple facilitera
    la discussion !

    xml :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <function name="maFonction" >
        <param name="monParam" />
    </function>
    xsl :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
      <xsl:for-each select="function">
          <xsl:value-of select="@name" />
          <xsl:for-each select="param">
              <xsl:value-of select="@name" />    <!-- n'affiche rien -->
          </xsl:for-each>
      </xsl:for-each>
    La ligne 4 du xsl qui devrait afficher le valeur de l'attribut name de param n'affiche rien ,
    j'imagine que c'est parce que les balises function et param possèdent toutes
    les deux un attribut "name" et que cela produit une ambiguité ; je peux
    facilement corriger le problème mais j'imagine que qu'il existe une méthode
    plus ad-hoc.

    Merci
    Henri

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Citation Envoyé par qdaemon_fr Voir le message
    La ligne 4 du xsl qui devrait afficher le valeur de l'attribut name de param n'affiche rien ,
    Elle devrait. Chez moi ça l'affiche bien.

    Citation Envoyé par qdaemon_fr Voir le message
    j'imagine que c'est parce que les balises function et param possèdent toutes
    les deux un attribut "name" et que cela produit une ambiguité ;
    Non, il n'y a pas d'ambiguïté.
    Chaque for-each change quel est l'élément en cours à l'intérieur de sa boucle, et on sait donc que le premier for-each, ira chercher les attributs des <function>, et le second for-each ira chercher les attributs des <param>. Tout est clair.

    Citation Envoyé par qdaemon_fr Voir le message
    je peux facilement corriger le problème mais j'imagine que qu'il existe une méthode
    plus ad-hoc.
    Le problème est autre chose que ce que tu croyais, et du coup ton exemple ne convient pas : il n'a aucun problème. Essaie-le : les deux données sont bien affichées.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. Réponses: 3
    Dernier message: 23/12/2011, 12h15
  2. Obtenir la valeur d'un attribut
    Par ludojojo dans le forum jQuery
    Réponses: 4
    Dernier message: 02/12/2011, 17h40
  3. [XSLT 2.0] Comparer la valeur d'un attribut avec tous les autres
    Par VforVincent dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 02/09/2011, 17h26
  4. [MySQL] Obtenir la valeur d'un attribut d'une table
    Par dreamquad dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 12/04/2010, 14h30
  5. Comment changer la valeur d'un attribut avec une stylesheet?
    Par BugsBunny dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 02/06/2006, 18h18

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