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