Name
count()
Counts the number of nodes in a given [1.0] node-set or [2.0] sequence.
Syntax
[1.0] numbercount(
node-set
)
[2.0] xs:integercount(
item()*
)
Inputs
A node-set or sequence.
Output
The number of items in the node-set or sequence.
[2.0] If the argument is the empty sequence,
count()
returns 0
.
Defined in
[1.0] XPath section 4.1, “Node Set Functions.”
[2.0] XQuery 1.0 and XPath 2.0 Functions and Operators section 15.4, “Aggregate Functions.”
Examples
Here’s the XML document we’ll use to illustrate the count()
function:
<?xml version="1.0" encoding="utf-8"?>
<!-- chocolate.xml -->
<report month="8" year="2006">
<title>Chocolate bar sales</title>
<brand>
<name>Lindt</name>
<units>27408</units>
</brand>
<brand>
<name>Callebaut</name>
<units>8203</units>
</brand>
<brand>
<name>Valrhona</name>
<units>22101</units>
</brand>
<brand>
<name>Perugina</name>
<units>14336</units>
</brand>
<brand>
<name>Ghirardelli</name>
<units>19268</units>
</brand>
</report>
And our stylesheet that illustrates the count()
function:
<?xml version="1.0"?> <!-- count.xsl --> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="text"/> <xsl:template match="/"> <xsl:text>
Tests of the count() function:

</xsl:text> <xsl:text> Our store sells </xsl:text> <xsl:value-of select="count(/report/brand)"/> <xsl:text> different brands of chocolate.</xsl:text> <xsl:text>

 For the last month, </xsl:text> <xsl:value-of select="count(/report/brand[units > 20000])"/> ...
Get XSLT, 2nd Edition 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.