Bonjour,
J'aimerais savoir comment calculer la moyenne d'un étudiant sachant que
chaque note à un coefficient. J'ai essayé d'écrire quelques choses en XSLT
mais ça me donne rien, si ce n'est une erreur du type :the value is not a
node-set.
Je met ci-dessous mon code XML et mon code XSLT:
PS: mon XSLT n'est pas bien passé lors qu premier envoi. Je le remets
ci-dessous en espérant que ça marche cette fois.
MON CODE XML:
<TEACHING>
<ETUDIANT ident="1" note="1">
<NOM>toto</NOM>
</ETUDIANT>
<ETUDIANT ident="1" note="2">
<NOM>bill</NOM>
</ETUDIANT>
...
<NOTE ident="1" etudiant="1">
<SCORE>15</SCORE>
</NOTE>
<NOTE ident="2" etudiant="1">
<SCORE>12</SCORE>
</NOTE>
<COEFFICIENT ident="1" note="1"><VALEUR>2</VALEUR></COEFFICIENT>
...
</TEACHING>
MON CODE XSLT:
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<xsl:for-each select="TEACHING/ETUDIANT">
<xsl:variable name="student3" select="@ident"/>
<xsl:variable name="course3" select="@note"/>
<xsl:if test="$student3=1 and $course3=1">
<xsl:variable name="sumnote" select="../NOTE[@etudiant=$student3]/SCORE"/>
<xsl:variable name="sumcoef" select="../COEFFICIENT[@note]/VALEUR"/>
<xsl:variable name="result" select="sum($sumnote*sumcoef) div
sum($sumcoef)"/>
<xsl:value-of select="$result" />
</xsl:if>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
_________________________________________________________________
MSN Messenger : discutez en direct avec vos amis !
http://www.msn.fr/msger/default.asp
--
Devenez redacteur <XML>fr et contribuez au developpement du
xml francophone (http://xmlfr.org/infos/redacteurs/) !
Liste de diffusion "xml-tech@xmlfr.org" (http://xmlfr.org).
Cette liste est a votre disposition pour discuter en francais de
tout sujet technique lie a XML.
Pour resilier votre abonnement, envoyez un message contenant
la commande "unsubscribe" a xml-tech-request@xmlfr.org
(mailto:xml-tech-request@xmlfr.org?Subject=unsubscribe)
Received on Thu Jan 12 19:35:09 2006