sum()¶
Функция sum суммирует значения узлов из переданного ей множества. Строковые значения узлов сначала преобразуются в числа, а затем все полученные числа складываются.
Синтаксис¶
1 | |
Описание и примеры¶
Пример¶
Листинг 6.3. Входящий документ
1 2 3 4 5 6 7 | |
Листинг 6.4. Преобразование
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | |
Листинг 6.5. Результат
1 2 3 4 5 6 7 | |
В этом преобразовании мы заменяем каждый элемент item на сумму значений предшествующих ему элементов плюс собственное значение. Предшествующие элементы выбираются путем выборки preceding-sibling::item, текущий элемент — сокращенным путем ".", затем эти два множества объединяются при помощи оператора |, и, наконец, мы вычисляем сумму значений узлов, входящих в них функцией sum.
Строковые значения суммируемых узлов преобразовываются в числовой формат так же, как они преобразовывались бы функцией number. Например, если входящий документ будет иметь вид
1 2 3 4 5 6 7 | |
то на выходе мы получим
1 2 3 4 5 6 7 | |
потому что, начиная с третьего элемента, в суммировании будет участвовать значение number('five'), то есть не-число (NaN).
Ссылки¶
- sum() MDN (рус.)