sum() 関数 | |
パラメータノードセットのすべてのノードを数値に変換し、それらの数値の合計を返します。ノードセットのいずれかのノードを数値に変換できない場合 (それらを number() 関数に渡すと NaN が返ります)、sum() 関数は NaN を返します。 | |
入力 | |
ノードセット。ノードセット内で数値でないノードは、number() 関数に渡されたかのように数値に変換され、すべてのノードの数値が合計されます。 |
|
出力 | |
パラメータノードセットのすべてのノードの数値の合計。パラメータノードセットのいずれかのノードを数値に変換できない場合、sum() 関数は NaN を返します。 |
|
定義先 | |
XPath 4.4 節「Number Functions」 |
|
例 | |
次の XML ドキュメントに対する sum() 関数の機能を示します。 <?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> sum() 関数を使用するスタイルシートを次に示します。 <?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> </xsl:variable> <xsl:template match="/"> <xsl:value-of select="$newline"/> <xsl:text>A test of the sum() function:</xsl:text> <xsl:value-of select="$newline"/> <xsl:value-of select="$newline"/> <xsl:text>Total miles flown this year: </xsl:text> <xsl:value-of select="format-number(sum(/report/month/miles-flown), '###,###')"/> <xsl:value-of select="$newline"/> <xsl:value-of select="$newline"/> <xsl:text>Total miles earned this year: </xsl:text> <xsl:value-of select="format-number(sum(/report/month/miles-earned), '###,###')"/> <xsl:value-of select="$newline"/> <xsl:value-of select="$newline"/> </xsl:template> </xsl:stylesheet> このスタイルシートを使用して XML ドキュメントを処理すると、次の結果が生成されます。 A test of the sum() function: Total miles flown this year: 84,059 Total miles earned this year: 236,452 |