8
votes

Utilisation de FN: Somme en XSLT avec le noeud contenant des valeurs nulles

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: xxx

et le xml: xxx

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 (comme vous le feriez Avis, pas une grande partie d'une exportation XSLT;) Comment puis-je filtrer les valeurs nulles?


1 commentaires

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. "


3 Réponses :


11
votes

Test explicitement que les nœuds ont du contenu:

<xsl:value-of select="fn:sum(values[value != '']/value)" /> 


0 commentaires

8
votes

Pour résumer juste les éléments contenant des chiffres: xxx

le résultat de numéro () sera nan pour des éléments vides ou des éléments dont la valeur de chaîne n'est pas un nombre.

référence MSDN - http://msdn.microsoft. com / fr-nous / bibliothèque / ms256211.aspx


0 commentaires