<html>
<head>


<title>Fonction sum()</title>
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div id="Description">
<table cellpadding="0" cellspacing="0" border="0" width="100%" class="main">
<tr>
<td valign="top" class="NAME">Fonction sum()</td>
<td valign="top" class="COMPATIBILITY">&nbsp;</td>
</tr>
<tr>
<td colspan="2" class="divider"><img src="dwres:18084" width="100%" height="1"></td>
</tr>
<tr>
<td valign="top" colspan="2" class="description">
Convertit tous les n&oelig;uds de l'ensemble de n&oelig;uds en nombres, puis renvoie la somme de tous ces nombres. Si l'un des n&oelig;uds de l'ensemble ne peut &ecirc;tre converti en nombre (lui appliquer la fonction <span class="LITERAL">number()</span> renvoie la valeur <span class="LITERAL">NaN</span>), la fonction <span class="LITERAL">sum()</span> renvoie la valeur <span class="LITERAL">NaN</span>. </td></tr>
<tr>
<td colspan="2" class="CLEARSEPARATION">&nbsp;</td>
</tr>
<tr>
<td colspan="2" class="TITLE">Entr&eacute;es</td>
</tr>
<tr>
<td colspan="2" class="description">
<p>Un ensemble de n&oelig;uds. Tout n&oelig;ud de l'ensemble de n&oelig;uds qui n'est pas un nombre est converti en nombre comme si la fonction <span class="LITERAL">number()</span> lui avait &eacute;t&eacute; appliqu&eacute;e, les valeurs num&eacute;riques de tous les n&oelig;uds sont ensuite additionn&eacute;es. </p>
</td>
</tr>
<tr>
<td colspan="2" class="CLEARSEPARATION">&nbsp;</td>
</tr>
<tr>
<td colspan="2" class="TITLE">Sortie</td>
</tr>
<tr>
<td colspan="2" class="description">
<p>La somme des valeurs num&eacute;riques de tous les n&oelig;uds de l'ensemble de n&oelig;uds de l'argument. Si un n&oelig;ud de l'ensemble de n&oelig;uds de l'argument ne peut &ecirc;tre converti en nombre, la fonction <span class="LITERAL">sum()</span> renvoie la valeur <span class="LITERAL">NaN</span>.</p>
</td>
</tr>
<tr>
<td colspan="2" class="CLEARSEPARATION">&nbsp;</td>
</tr>
<tr>
<td colspan="2" class="TITLE">D&eacute;finie dans</td>
</tr>
<tr>
<td colspan="2" class="description">
<p>XPath section 4.4, Fonctions Nombre. </p>
</td>
</tr>
<tr>
<td colspan="2" class="CLEARSEPARATION">&nbsp;</td>
</tr>
<tr>
<td colspan="2" class="TITLE">Exemple</td>
</tr>
<tr>
<td colspan="2" class="description">
<p>Le document XML suivant permet d'illustrer le fonctionnement de la fonction <span class="LITERAL">sum()</span>&nbsp;:</p>
<span class="PROGRAMLISTING"><pre>
&lt;?xml version=&quot;1.0&quot;?&gt;
&lt;report&gt;
  &lt;title&gt;Miles Flown in 2001&lt;/title&gt;
  &lt;month sequence=&quot;01&quot;&gt;
    &lt;miles-flown&gt;12379&lt;/miles-flown&gt;
    &lt;miles-earned&gt;35215&lt;/miles-earned&gt;
  &lt;/month&gt;
  &lt;month sequence=&quot;02&quot;&gt;
    &lt;miles-flown&gt;32857&lt;/miles-flown&gt;
    &lt;miles-earned&gt;92731&lt;/miles-earned&gt;
  &lt;/month&gt;
  &lt;month sequence=&quot;03&quot;&gt;
    &lt;miles-flown&gt;19920&lt;/miles-flown&gt;
    &lt;miles-earned&gt;76725&lt;/miles-earned&gt;
  &lt;/month&gt;
  &lt;month sequence=&quot;04&quot;&gt;
    &lt;miles-flown&gt;18903&lt;/miles-flown&gt;
    &lt;miles-earned&gt;31781&lt;/miles-earned&gt;
  &lt;/month&gt;
&lt;/report&gt;</pre></span> <!--<?troff .Nd 10?>-->
<p>La feuille de style suivante utilise la fonction <span class="LITERAL">sum()</span>&nbsp;:</p>
<span class="PROGRAMLISTING"><pre>
&lt;?xml version=&quot;1.0&quot;?&gt;
&lt;xsl:stylesheet version=&quot;1.0&quot;
  xmlns:xsl=&quot;http://www.w3.org/1999/XSL/Transform&quot;&gt;

  &lt;xsl:output method=&quot;text&quot;/&gt;

  &lt;xsl:variable name=&quot;newline&quot;&gt;
&lt;xsl:text&gt;
&lt;/xsl:text&gt;
  &lt;/xsl:variable&gt;

  &lt;xsl:template match=&quot;/&quot;&gt;
    &lt;xsl:value-of select=&quot;$newline&quot;/&gt;
    &lt;xsl:text&gt;A test of the sum() function:&lt;/xsl:text&gt;

    &lt;xsl:value-of select=&quot;$newline&quot;/&gt;
    &lt;xsl:value-of select=&quot;$newline&quot;/&gt;
    &lt;xsl:text&gt;Total miles flown this year:  &lt;/xsl:text&gt;
    &lt;xsl:value-of
      select=&quot;format-number(sum(/report/month/miles-flown), '###,###')&quot;/&gt;
    &lt;xsl:value-of select=&quot;$newline&quot;/&gt;
    &lt;xsl:value-of select=&quot;$newline&quot;/&gt;
    &lt;xsl:text&gt;Total miles earned this year: &lt;/xsl:text&gt;
    &lt;xsl:value-of
      select=&quot;format-number(sum(/report/month/miles-earned), '###,###')&quot;/&gt;
    &lt;xsl:value-of select=&quot;$newline&quot;/&gt;
    &lt;xsl:value-of select=&quot;$newline&quot;/&gt;
  &lt;/xsl:template&gt;

&lt;/xsl:stylesheet&gt;</pre></span>
<p>Traiter le document XML &agrave; l'aide de la feuille de style g&eacute;n&egrave;re les r&eacute;sultats suivants&nbsp;:</p>
<span class="PROGRAMLISTING"><pre>

A test of the sum() function:

Total miles flown this year:  84,059

Total miles earned this year: 236,452
</pre></span>
</td>
</tr>
</table>
</div>
</body>
</html>
