Considérons un cas que je dois obtenir le nombre d'étudiants passés, il est considéré comme réussi s'il passe tous les examens.Comment incrémenter une variable de 1 en xslt?
<testResults version="1.2">
<student test="1" pass="true" name="A"></student>
<student test="2" pass="true" name="A"></student>
<student test="1" pass="false" name="B"></student>
<student test="2" pass="true" name="B"></student>
<student test="1" pass="false" name="C"></student>
<student test="2" pass="false" name="C"></student>
<student test="1" pass="true" name="D"></student>
<student test="2" pass="true" name="D"></student>
</testResults>
Je veux connaître le nombre d'étudiants ayant réussi tous les sujets. Comment je fais ça? J'ai eu une méthode où je passe en revue tous les élèves et montre qui a réussi tout mais comment puis-je obtenir le compte de tous les élèves.
J'utilise,
<xsl:for-each select="/testResults/student/[not(@name = preceding::*/@name)]">
<xsl:variable name="allFailureCount" select="count(/testResults/*[attribute::pass='false'][@tn = current()/@name])" />
<xsl:choose>
<xsl:when test="$allFailureCount > 0"></xsl:when>
<xsl:otherwise><xsl:value-of select="@name" /></xsl:otherwise>
</xsl:choose>
</xsl:for-each>
Pouvez-vous éditer votre question pour montrer votre méthode actuelle qui obtient les étudiants qui ont réussi? Merci –
La réponse simple est que vous n'avez pas. En XSLT vous ne pouvez pas changer la valeur d'une variable, vous pouvez la définir une fois et c'est tout. (Oui, je sais que cela semble bizarre au début.) Si vous voulez compter quelque chose, vous appelez la fonction XPath 'count()'. – biziclop
Hey @biziclop Comment utiliseriez-vous la fonction XPath count dans ce cas? –