Bonjour,
J'aimerais savoir si quelqu'un pourrait m'aider à établir le document XSLT pour ce fichier xml:
Le fichier XSLT devra donner sous forme de tableau le nom des étudiants et leur moyenne. J'ai déjà une base du fichier xslt nommé class.xsl:
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 <?xml version="1.0" encoding="ISO-8859-1" ?> <?xml-stylesheet href="class.xsl" type="text/xsl" ?> <université> <étudiant><nom>Réjean Tremblay</nom> <cours sigle="INF8430" note="89" /> <cours sigle="INF1030" note="69" /> <cours sigle="INF1230" note="75" /></étudiant> <étudiant><nom>Martin Lambert</nom> <cours sigle="INF8430" note="75" /> <cours sigle="INF1030" note="72" /> <cours sigle="INF1230" note="73" /></étudiant> <étudiant><nom>Luc Alain</nom> <cours sigle="INF9430" note="39" /> <cours sigle="INF1030" note="89" /> <cours sigle="INF1230" note="79" /></étudiant> <étudiant><nom>Olive Saint-Amant</nom> <cours sigle="INF8430" note="91" /> <cours sigle="INF1230" note="99" /></étudiant> </université>
mais je n'arrive pas à coder le fichier de sorte que le résultat se présente comme un tableau et non comme une liste qui apparaît comme ceci:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version = '1.0' xmlns: xsl='http://www.w3.org/1999/XSL/Transform'> <xsl:template match="université"> <xsl:apply-templates> <xsl:sort select="substring-after(nom,' ')" order="ascending"/> </xsl:apply-templates> </xsl:template> <xsl:template match="étudiant"> <tr> <td><xsl:value-of select="nom" /></td> <td><xsl:value-of select="format-number(sum(cours/@note) div (count(cours)),'##.0')" /></td> </tr> </xsl:template> </xsl:stylesheet>
Dans le fichier,on doit utiliser la partie :Luc Alain69.0Martin Lambert73.3Olive Saint-Amant95.0Réjean Tremblay77.7Cordialement
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 <xsl:apply-templates> <xsl:sort select="substring-after(nom,' ')" order="ascending"/> </xsl:apply-templates>
Partager