Name
sum() Function — Converts all nodes in the argument node-set to numbers, and then returns the sum of all of those numbers. If any node in the node-set can’t be converted to numbers (passing them to the number()
function returns NaN
), the sum()
function returns NaN
.
Synopsis
numbersum(
node-set
)
Inputs
A node-set. Any node in the node-set that is not a number is converted to a number as if it were passed to the number()
function, then the numeric values of all of the nodes are summed.
Output
The sum of the numeric values of all of the nodes in the argument node-set. If any node in the argument node-set cannot be converted to a number, the sum()
function returns NaN
.
Defined in
XPath section 4.4, Number Functions.
Example
We’ll demonstrate the sum()
function against the following XML document:
<?xml version="1.0"?> <report> <title>Miles Flown in 2001</title> <month sequence="01"> <miles-flown>12379</miles-flown> <miles-earned>35215</miles-earned> </month> <month sequence="02"> <miles-flown>32857</miles-flown> <miles-earned>92731</miles-earned> </month> <month sequence="03"> <miles-flown>19920</miles-flown> <miles-earned>76725</miles-earned> </month> <month sequence="04"> <miles-flown>18903</miles-flown> <miles-earned>31781</miles-earned> </month> </report>
Here is a stylesheet that uses the sum()
function:
<?xml version="1.0"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="text"/> <xsl:variable name="newline"> <xsl:text> </xsl:text> ...
Get XSLT now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.