Перейти к содержанию

count()

Функция count возвращает число узлов в наборе узлов.

Синтаксис

1
number count( node-set )

Описание и примеры

Пример

XML-файл (test.xml)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?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)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
<?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-файлу, дает следующий результат:

1
2
3
4
5
6
7
node-set count(node-set)

//x, 7
//x[1], 4
//x/y, 8
//x/y[1], 4
//x[1]/y[1], 2

Ссылки

Комментарии