Bonjour tout monde je suis début en xml, je dois realiser un qcm avec xml.
j'ai réaliser le code xml, les codes xsl et maintenant je sais comment recupérer les case coché dans xsl pour les mettre dans le résultat. dapres mes recherche sur google certains forum parle de javascript d'autre php.
j'ai tiré les code par le net
help, merci par avance
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
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 <?xml version="1.0"?> <?xml-stylesheet href="qcm1.xsl" type="text/xsl" ?> <qcm matiere="qi"> <question> <libelle> La commande permettant d'executer une application java est : </libelle> <reponse score="1"> javac</reponse> <reponse score="0"> java</reponse> <reponse score="0"> exec</reponse> <reponse score="0"> java -c</reponse> </question> <question> <libelle> La commande permettant de compiler java est :</libelle> <reponse score="0"> javac</reponse> <reponse score="1"> java</reponse> <reponse score="0">exec</reponse> <reponse score="0"> java -c</reponse> </question> <question> <libelle> Un fichier contenant un programme java doit possseder l'extension : </libelle> <reponse score="0"> jav </reponse> <reponse score="0"> exe</reponse> <reponse score="1"> class</reponse> <reponse score="0"> java</reponse> </question> </qcm>
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
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50 <?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> <head> <title> <xsl:value-of select="@matiere"/></title> </head> <body BGCOLOR="Aqua"> <h1><CENTER><font color= "black">Ce QCM sert à vérifier vos connaissance sur la chaine de developpement java.Il vaut mieux le valide avant de se presenter à l'examen</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 ="checkbox"> <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>
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
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67 <?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 </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) > 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>
Partager