Функция count (XPath)
Возвращает число узлов в наборе узлов.
number count(node-set)
Примеры
XML-файл (test.xml)
<?xml version="1.0"?>
<test>
<x a="1">
<x a="2">
<x>
<y>y31</y>
<y>y32</y>
</x>
</x>
</x>
<x a="1">
<x a="2">
<y>y21</y>
<y>y22</y>
</x>
</x>
<x a="1">
<y>y11</y>
<y>y12</y>
</x>
<x>
<y>y03</y>
<y>y04</y>
</x>
</test>
XSLT-файл (test.xsl)
<?xml version='1.0'?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text" />
<xsl:template match="/">
//x, <xsl:value-of select="count(//x)"/>
//x[1], <xsl:value-of select="count(//x[1])"/>
//x/y, <xsl:value-of select="count(//x/y)"/>
//x/y[1], <xsl:value-of select="count(//x/y[1])"/>
//x[1]/y[1], <xsl:value-of select="count(//x[1]/y[1])"/>
</xsl:template>
</xsl:stylesheet>
Вывод
Таблица стилей XSLT, примененная к вышеуказанному XML-файлу, дает следующий результат:
node-set |
count(node-set) |
---|---|
//x |
7 |
//x[1] |
4 |
//x/y |
8 |
//x/y[1] |
4 |
//x[1]/y[1] |
2 |