Un grand merci pour votre aide. Ca marche impeccable. Encore merci.
Cordialement,
Jarod Delaware
>From: Eric van der Vlist <vdv@dyomedea.com>
>Reply-To: xml-tech@xmlfr.org
>To: xml-tech@xmlfr.org
>Subject: [xml-tech] Re: moyenne des notes: sum($x*$y)
>Date: Mon, 16 Jan 2006 16:08:40 +0100
>
>Bonjour,
>
>Le samedi 14 janvier 2006 à 09:14 +0000, Jarod Delaware a écrit :
> > Je sèche littéralement, je crois que c'est que code XSLT que je dois
> > implémenter dans mon code XSLT, mais je n'y arrive pas. Est ce que
>quelqu'un
> > pourrait m'aider s'il vous plait. Merci pour vos réponses.
> > LE CODE XSLT SUM OF PROUCTS:
> > <xsl:template name="prod-sum">
> > <xsl:param name="sum">0</xsl:param>
> > <xsl:param name="nodes" />
> > <xsl:choose>
> > <xsl:when test="$nodes">
> > <xsl:call-template name="prod-sum">
> > <xsl:with-param name="sum"
> > select="$sum + number($nodes[1]/a) * number($nodes[1]/b)" />
>
>Ici, il faut personnaliser le "a" et le "b" pour l'adapter à votre
>document.
>
>Dans votre cas, ce sera :
>
> select="$sum + number($nodes[1]/SCORE) *
>number(/TEACHING/COEFFICIENT[@note=$nodes[1]/@ident]/VALEUR)" />
>
>(si je comprend bien la structure de voter document).
>
> > <xsl:with-param name="nodes" select="$nodes[position()!=1]" />
> > </xsl:call-template>
> > </xsl:when>
> > <xsl:otherwise>
> > <xsl:value-of select="$sum" />
> > </xsl:otherwise>
> > </xsl:choose>
> > </xsl:template>
> >
> > 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">
>
>A ce niveau, pour appeler le template "prod-sum", il faut utiliser :
>
> <xsl:call-template name="prod-sum">
> <xsl:with-param name="nodes"
>select="/TEACHING/NOTE[@etudiant=current()/@ident]"/>
> </xsl:call-template>
>
>Cordialement,
>
>Eric van der Vlist
>
> > <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>
> >
> >
> >
> >
> > >From: "Jarod Delaware" <delaware_jarod@hotmail.com>
> > >Reply-To: xml-tech@xmlfr.org
> > >To: xml-tech@xmlfr.org
> > >Subject: [xml-tech] Re: moyenne des notes: sum($x*$y)
> > >Date: Fri, 13 Jan 2006 13:07:27 +0000
> > >
> > >Bonjour,
> > >Merci beaucoup pour votre aide. Par contre, j'ai regardé sur le lien
>que
> > >vous m'avez marqué mais j'ai pas très bien compris comment adapter
> > >l'exemple
> > >donné à mon problème, étant débutant en xml.
> > >Est ce que vous pouvez m'éclairer, s'il vous plaît. Encore merci pour
>vos
> > >réponses.
> > >
> > >
> > > >From: Jean-Christophe Kermagoret <jck@bluexml.org>
> > > >Reply-To: xml-tech@xmlfr.org
> > > >To: xml-tech@xmlfr.org
> > > >Subject: [xml-tech] Re: moyenne des notes: sum($x*$y)
> > > >Date: Thu, 12 Jan 2006 22:52:58 +0100
> > > >
> > > >Bonjour,
> > > >la fonction number ne permet pas de faire la somme d'un ensemble de
> > > >noeud, mais de considérer le noeud comme un entier, un cast en
>quelque
> > > >sorte.
> > > >
> > > >Pour faire une somme, il faut faire la somme des éléments deux à
>deux...
> > > >comme cela est expliqué ici, où vous trouverez beaucoup d'information
>:
> > > >
> > > >http://www.dpawson.co.uk/xsl/sect2/N5121.html#d6085e562
> > > >
> > > >Jean-Christophe
> > > >
> > > >Jarod Delaware a écrit :
> > > > > Bonjour,
> > > > > j'ai essayé vos deux solutions, ie:
> > > > > select="number(../NOTE[@etudiant=1]/SCORE)) et également:
> > > > > select="number(string(...))"
> > > > > mais ça me donne rien, toujours la même erreur the value is not a
>node
> > > >set.
> > > > >
> > > > >
> > > > >
> > > > >>From: hufflen@lifc.univ-fcomte.fr (hufflen jean-michel)
> > > > >>Reply-To: xml-tech@xmlfr.org
> > > > >>To: xml-tech@xmlfr.org
> > > > >>Subject: [xml-tech] Re: moyenne des notes: sum($x*$y)
> > > > >>Date: Thu, 12 Jan 2006 19:33:52 +0100 (CET)
> > > > >>
> > > > >>>From xml-tech-bounce@xmlfr.org Thu Jan 12 19:21:22 2006
> > > > >>
> > > > >>>(...)
> > > > >>
> > > > >>>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:
> > > > >>
> > > > >>>(...)
> > > > >>
> > > > >> A premiere vue...
> > > > >>
> > > > >>
> > > > >>><xsl:variable name="sumnote"
> > > > >>
> > > > >>select="../NOTE[@etudiant=$student3]/SCORE"/>
> > > > >>
> > > > >>><xsl:variable name="sumcoef"
>select="../COEFFICIENT[@note]/VALEUR"/>
> > > > >>
> > > > >> je n'ai pas essaye mais je pense qu'il faut utiliser ici
> > > > >>
> > > > >>select="number(../NOTE...)"
> > > > >>
> > > > >> et meme chose a la ligne suivante. Peut-etre faut-il meme
>preciser
> > > > >>"number(string(...))".
> > > > >>
> > > > >>
> > > > >> Hope this helps,
> > > > >>
> > > > >> J.-M. H.
> > > > >>
> > > > >>--
> > > > >>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)
> > > > >>
> > > > >
> > > > >
> > > > > _________________________________________________________________
> > > > > MSN Hotmail : créez votre adresse e-mail gratuite & à vie !
> > > > > http://www.msn.fr/newhotmail/Default.asp?Ath=f
> > > > >
> > > > >
> > > > > --
> > > > > 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)
> > > > >
> > > >
> > > >
> > > >--
> > > >
> > > >BlueXML
> > > >Jean-Christophe Kermagoret
> > > >Directeur associé
> > > >jck@bluexml.org
> > > >
> > > >
> > > >--
> > > >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)
> > > >
> > >
> > >_________________________________________________________________
> > >MSN Hotmail : créez votre adresse e-mail gratuite & à vie !
> > >http://www.msn.fr/newhotmail/Default.asp?Ath=f
> > >
> > >
> > >--
> > >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)
> > >
> >
> > _________________________________________________________________
> > 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)
> >
> >
>--
>Le premier annuaire des apiculteurs 100% XML!
> http://apiculteurs.info/
>------------------------------------------------------------------------
>Eric van der Vlist http://xmlfr.org http://dyomedea.com
>(ISO) RELAX NG ISBN:0-596-00421-4 http://oreilly.com/catalog/relax
>(W3C) XML Schema ISBN:0-596-00252-1 http://oreilly.com/catalog/xmlschema
>------------------------------------------------------------------------
>
>
>--
>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)
>
_________________________________________________________________
MSN Hotmail : créez votre adresse e-mail gratuite & à vie !
http://www.msn.fr/newhotmail/Default.asp?Ath=f
--
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 Tue Jan 17 12:16:40 2006