1. #1
    Invité de passage
    Inscrit en
    décembre 2011
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : décembre 2011
    Messages : 4
    Points : 0
    Points
    0

    Par défaut XML/XSL parcours itératif et récursif

    Bonjour,

    J'ai quelques questions si cela est possible sur un petit exercice de XSL.

    L'exercice est le suivant:

    Exercice:
    Q1)Ecrivez une feuille de style xsl qui permet de générer en html la feuille d'examen(la feuille d'examen correspond à mon fichier exo_2.xml de mon repertoire question1) c'est à dire ne contenant que les exercices et les questions en utilisant un parcours itératif.Affichez le titre, le mois et l'année de l'examen. On supposera qu'il n'y a qu'un seul niveau de question.

    Q3)Ecrivez une feuille de style xsl qui permet de générer en html la feuille d'examen(la feuille d'examen correspond à mon fichier exo_2.xml de mon repertoire question3)c'est à dire ne contenant que les exercices et les questions en utilisant un parcours récursif.Affichez le titre, le mois et l'année de l'examen. On supposera qu'il y a plusieurs niveaux de question.


    J'ai essayé de répondre à ces deux questions (voir svp pieces jointes), cependant que cela soit en parcours itératif ou récursif je n'arrive pas à afficher tous ce qui est dans la deuxième balise "question" de la balise "questions" pour chacune des balises "exercice" du document xml en question pour la question 1 et la question 3.

    Je vous remercie infiniment pour toutes les aides!

    Cordialement.
    Fichiers attachés Fichiers attachés

  2. #2
    Modérateur

    Inscrit en
    septembre 2004
    Messages
    10 332
    Détails du profil
    Informations forums :
    Inscription : septembre 2004
    Messages : 10 332
    Points : 17 246
    Points
    17 246

    Par défaut

    Ben, de même que tu as fait une boucle for-each sur /examen/listeExo/exercice, il faut mettre à l'intérieur une autre boucle xsl:for-each sur tout ce que tu veux énumérer.

    Pour l'exercice récursif, même chose : ce que tu as fait pour parcourir l'un, tu le fait aussi pour parcourir l'autre.
    Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher du poisson, il videra le lac et au bout de deux ans son village ne mangera plus jamais.
    Partagez vos connaissances, mais aussi comment s'en servir.

  3. #3
    Invité de passage
    Inscrit en
    décembre 2011
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : décembre 2011
    Messages : 4
    Points : 0
    Points
    0

    Par défaut

    Citation Envoyé par thelvin Voir le message
    Ben, de même que tu as fait une boucle for-each sur /examen/listeExo/exercice, il faut mettre à l'intérieur une autre boucle xsl:for-each sur tout ce que tu veux énumérer.

    Pour l'exercice récursif, même chose : ce que tu as fait pour parcourir l'un, tu le fait aussi pour parcourir l'autre.
    Oui en faite j'avais eu cette idée mais je n'ai pas réussi je vous ré-envois le fichier xsl du repertoire "question1".

    Merci d'avance.
    Fichiers attachés Fichiers attachés

  4. #4
    Modérateur

    Inscrit en
    septembre 2004
    Messages
    10 332
    Détails du profil
    Informations forums :
    Inscription : septembre 2004
    Messages : 10 332
    Points : 17 246
    Points
    17 246

    Par défaut

    Tu as remarqué que dans ta directive :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xsl:value-of select="corrige/nomFichier"/>
    ce que tu mets dans le select= ne commence pas par un / ?
    C'est une idée intéressante, n'est-ce pas ? Ne pas commencer par un / et pourtant, ça a l'air de très bien marcher...
    Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher du poisson, il videra le lac et au bout de deux ans son village ne mangera plus jamais.
    Partagez vos connaissances, mais aussi comment s'en servir.

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