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] Références entre blocs XML


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 2
    Points : 1
    Points
    1
    Par défaut [XSLT] Références entre blocs XML
    Bonjour,

    Voici la question que je me pose et pour laquelle je n'ai pas encore trouvé de solution. J'ai un fichier XML contenant au premier niveau de l'arbre des cours et des personnes. Les personnes peuvent être soit étudiant dans un cour, soit professeur. J'ai donc créé un fichier XML 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
     
    <application>
      <cours>
        <cour id="c1">
          <intitule>Mathématiques</intitule>
        </cour>
      </cours>
        <personnes>
          <personne id="p1">
    	<civilite>M</civilite>
    	<nom>HORMIE</nom>
    	<prenom>Marcel</prenom>
            <etudiant>
              <idcour>c1</idcour>
              <note>12</note>
            </etudiant>
          </personne>
        </personnes>
    </application>
    Je souhaiterais faire un affichage en XSL me permettant de visualiser les étudiants, ainsi que les cours dans lesquels ils sont inscrits et leur note. Pas de problèmes pour afficher étudiants et note, par contre je ne vois pas vraiment comment afficher l'intitulé du cour. Pour l'instant, j'ai une balise idcour dans etudiant, mais comment aller chercher la valeur de intitulé du cour correspondant ? J'ai pu le faire avec un chemin XPATH, mais toujours en mettant la valeur du id cour en fixe.

    Merci par avance pour votre aide.

  2. #2
    Modérateur

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

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 567
    Points : 21 635
    Points
    21 635
    Par défaut
    - Mettre l'id du cours dans une variable, pour pouvoir s'en servir facilement dans un xPath.
    - Sélectionner le cours correspondant à cet id à l'aide d'un prédicat.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <xsl:variable name="coursid" select="etudiant/idcour"/>
    <xsl:value-of select="//cour[@id = $coursid]/intitule"/>
    (Ce code n'est pas testé, mais la méthode est la bonne.)

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Merci thelvin ! C'est bien ce que je cherchais, j'ai testé le code et ça marche !

    Super !

Discussions similaires

  1. Le lien entre PHP ,xml et xslt lors d'un envoi email
    Par linksys dans le forum Langage
    Réponses: 0
    Dernier message: 16/03/2013, 00h25
  2. [XSLT] Diviser un fichiers xml en plusieurs pages html
    Par thibaut06 dans le forum XSL/XSLT/XPATH
    Réponses: 8
    Dernier message: 07/04/2005, 16h56
  3. [XSLT] Différence entre apply-templates et call-template
    Par Cpt.FLAM dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 04/04/2005, 18h47
  4. [XSLT] Fusion de fichier XML ???
    Par webtheque dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 04/03/2005, 20h13
  5. [EJB2.1] Référence entre beans
    Par onlytoine dans le forum Java EE
    Réponses: 11
    Dernier message: 22/10/2004, 15h12

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