begin process at 2012 05 29 22:42:55
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Javascript

 > 

Archives

 > 

AU SECOURS !!!

 > 

realiser un questionnaire en xsl et xml.


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

realiser un questionnaire en xsl et xml.

mercredi 15 février 2006 à 20:02:49 | realiser un questionnaire en xsl et xml.

ramakat

Bonjour,

voila,j'ai eu comme projet de faire un Quizz avec choix et réponses multiples,en plus clair je dois éllaborer un générateur de QCM en XSL avec garphiques en SVG si possible.

En fait pour mieux m'expliquer et en resumé:

On a au final 3 fichiers:

2 fichiers xsl pour les feuilles de style:
- la 1ere sert pour l'affichage du questionnaire
- la 2eme sert pour l'affichage du resultat, le score et la correction.

1 fichier xml qui lui, fait l'intermediaire entre les deux premiers.En effet il contient un script php qui recupere ds un tableau Get les valeurs de la feuille1 et transmet les reponses pour la feuille2.


Voila une ébauche des codes de chaque fichiers :

qcm.xsl

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
 xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:output method="html" encoding="UTF-8"/>

<xsl:template match="qcm">
   <html>

      <body BGCOLOR="Aqua">
      
      <h1><CENTER><font color= "black">Quizz difficile mais debile lol</font></CENTER>
      </h1>
      <br/>
      <br/>
      <xsl:apply-templates select="question"/>

      <input type="submit" name="valider" value="Valider"/><br/>
      <input type="submit" name="clear" value="Clear"/><br/>
   
      </body>
      
   
   </html>

</xsl:template>
   

<xsl:template match="question">
<xsl:value-of select="libelle"/><br/>
<xsl:apply-templates select="reponse"/>
<br/>
<br/>
</xsl:template>


<xsl:template match="reponse">
<input type ="radio">
<xsl:attribute name="name">
<xsl:value-of select="concat('Q',count(preceding::question)+1)"/>
</xsl:attribute>
</input>
<xsl:value-of select="."/>
<br/>

</xsl:template>
 
</xsl:stylesheet>



qcm2.xsl


<?xml version="1.0" encoding="ISO-8859-1" ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">

<xsl:output method="html" encoding="ISO-8859-1" indent="yes" />

<xsl:param name="reponses" />

<xsl:template match="qcm">

   <html>
       <body>
       <h2> Correction du questionnaire (que cette correction est moche !) </h2>
       <xsl:call-template name="calcul_score">
           <xsl:with-param name="reponses"> <xsl:value-of select="$reponses" /> </xsl:with-param>
           <xsl:with-param name="num_question" select="1" />
           <xsl:with-param name="score" select="0" />
       </xsl:call-template>
       </body>

   </html>

</xsl:template>


<xsl:template name="calcul_score">
   <xsl:param name="reponses" />
   <xsl:param name="num_question" />
   <xsl:param name="score" />

   <xsl:variable name="num_reponse">
        <xsl:value-of select="substring-before($reponses, ':')" />
   </xsl:variable>

   <xsl:variable name="liste_q">
        <xsl:value-of select="substring-after($reponses, ':')" />
   </xsl:variable>

   <xsl:variable name="score_question">
        <xsl:value-of select="question[$num_question]/choix[position()=$num_reponse]/@score" />
   </xsl:variable>

   <h3> Question <xsl:value-of select="$num_question" /> : <xsl:value-of select="question[$num_question]/libellé" /> </h3>
         Réponse choisie (<xsl:value-of select="$num_reponse" />) : <xsl:value-of select="question[$num_question]/choix[position()=$num_reponse]" />
   <br/> Réponse exacte ...
   <br/> Score de la question : <xsl:value-of select="$score_question" />

   <xsl:choose>
         <xsl:when test="string-length($liste_q) &gt; 1">
             
              <xsl:call-template name="calcul_score">
                   <xsl:with-param name="reponses" select="$liste_q"/>
                   <xsl:with-param name="num_question" select="$num_question + 1"/>
                   <xsl:with-param name="score" select="$score + $score_question"/>
              </xsl:call-template>
        </xsl:when>
        <xsl:otherwise>
              <h3> <font color="red"> SCORE = <xsl:value-of select="$score + $score_question" /> sur
                   </font>
              </h3>
        </xsl:otherwise>
   </xsl:choose>

</xsl:template>


</xsl:stylesheet>


qcm.xml

<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet href="qcm.xsl" type="text/xsl" ?>


<qcm matiere = "QUIZZ">

   <question>
      <libelle>Combien y a t-il de merveilles dans le monde?</libelle>   
      <reponse score="0"> 5</reponse>
      <reponse score="1"> 7</reponse>
      <reponse score="0"> 1</reponse>
      <reponse score="-1"> Je ne sais pas</reponse>
   </question>
   
   <question>
      <libelle>Comment appelle t-on un ail qu'on jete contre le mur ?</libelle>   
      <reponse score="0"> Un jet d'oeufs pourries</reponse>
      <reponse score="0"> Une connerie</reponse>
      <reponse score="1"> Un JDI</reponse>
      <reponse score="-1"> Je ne sais pas</reponse>
   </question>
   
   <question>
      <libelle>Quelle est la capitale de l ile maurice?</libelle>   
      <reponse score="0"> Curepipe</reponse>
      <reponse score="0"> Alger</reponse>
      <reponse score="1"> Port-Louis</reponse>
      <reponse score="-1"> Je ne sais pas</reponse>
   </question>

</qcm>

Pouvez vous jeter un coup d'oeil a ces scripts et m'aider à les fusionner et même me donner des améliorations par rapport a votre vision des choses?

Merci par avance


Petite rectification. il y a 4 fichiers au final...

Créez un visualisateur de QCM

Liste des ressources :
QCM.xml : les données
QCM.xsl : pour générer le formulaire à remplir
score.xsl : pour afficher le score
score.php : pour appeler l'interpréteur XSL



QCM.xml QCM.xml
\ \
interpréteur XSL --> formulaire --> score.php --> interpréteur XSL -->
du navigateur (page HTML) du serveur
/ /
QCM.xsl score.xsl


-->Correction

page HTML


et voici le fichier score.php

<?php

    
foreach ($_GET as $clef => $val
)
    {
        if (
preg_match ("/^q/", $clef
))
        {
        
$param .= "$val:"
;
             }
     }

  
$resultat = `xsltproc --param reponses "'$param'" score.xsl qcm.xml
`;
  echo
$resultat
;
?>


Comment faire en sorte que le fichier php recupère le tableau de param par la feuile de style1 et la passer a la feuille de style 2?

je n'y arrive pas?

aidez moi SVP









Cette discussion est classée dans : php, xml, xsl, score, qcm


Répondre à ce message

Sujets en rapport avec ce message

ActiveX : Microsoft.XMLDOM ?? [ par chmartin ] Bonjour,Voici mon probléme : je genere un fichier xml assez volumineux à partir d'une base mysql via php, Je le charge via javascript :     xml = new mis a jour d'un fichier xml a partier de php [ par ninfo2008 ] bjr, je suis nawal etudiant et j'ai entrein de devloppe un logiciel avec le php et xml j'ai une base de donnee xml et je cherche comment mettre a jour présenter xml dans html [ par hdh ] Bonjour, Voila une question qui vous parraitra bien simple : comment afficher du xml correctement dans un navigateur web sans passer par du php.Je vou Parser XML pour tranformation XSL sous firefox ? [ par rom3ro ] Bonjour,     Je souhaiterais savoir s'il était possible de pouvoir transformer des documents XML avec du XSL sous firefox, comme IE permet de le faire Javascript/XML/XSL [ par bewonder ] Bonjour,Je souhaite juste charger un document XML et un document XSL afin de les fusionner pour afficher le résultat dans un div.Mais je butte sur un xml et xsl et html [ par sokotanic ] bonjourj'ai un fichier xml et un fichier xsl, est quand je clique sur mon fichier xml la page s'affiche correctement comme une page html et c'est bien Envoi de code HTML en Ajax (méthode POST) et éditeurs WYSIWYG [ par mioumiounorris ] Bonjour ! Je suis en train de réaliser la partie admin d'un site, et j'utilise TinyMCE afin de pouvoir publier mes articles. Je me suis mis en tête de prob avec Javascipt et accssoirement xml [ par Thepp ] Mon probl est 2 niveaux- je dispose d'un fichier xml et celui-ci ne comporte pas de rfrence un fichier Xsl (masque d'affichage), je voudrais trouver [XML/DTD/XSL/CSS/HTM] Exemple affichage d'images (tutorial) [ par bubuze ] [XML/DTD/XSL/CSS/HTM] Exemple affichage d'images (tutorial) Bonjour ! j'avance pas à pas en xml/xsl -> html, dans le but de créer des galeries de p transformation XML vers HTML [ par cuq ] Bonjour,J'ai une petite question concernant la transformation de page XML en HTML.  dans une de mes pages je réalise la conversion de fichier XML+XSL


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,546 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales