J'essaie de résumer un ensemble de valeurs dans un XML à l'aide de la fonction XSLT et XPath FN: Somme. Cela fonctionne bien tant que les valeurs sont non nuls, mais ce n'est pas le cas. Pour illustrer mon problème, j'ai fait un exemple: et le xml: p> L'exemple fonctionne bien tant qu'il n'y a pas de valeurs nulles. J'ai essayé divers variantes de la sélection, telle que
3 Réponses :
Test explicitement que les nœuds ont du contenu:
<xsl:value-of select="fn:sum(values[value != '']/value)" />
Pour résumer juste les éléments contenant des chiffres: le résultat de référence MSDN - http://msdn.microsoft. com / fr-nous / bibliothèque / ms256211.aspx p> p> numéro () code>
sera nan code> pour des éléments vides ou des éléments dont la valeur de chaîne n'est pas un nombre. P>
Juste une note: il n'est pas nécessaire d'utiliser un préfixe comme 'Fn' pour utiliser des fonctions telles que «Somme» dans XSLT 2.0, voir w3.org/tr/xslt20/#statique-context qui dit:" L'espace de noms de fonction par défaut est l'espace de noms de fonction standard, défini dans [Fonctions et opérateurs]. Cela signifie que cela signifie que Il n'est pas nécessaire de déclarer cet espace de noms dans la feuille de style, et il n'est pas nécessaire d'utiliser le préfixe FN (ou tout autre préfixe) lors des fonctions principales. "