Книга: XSLT
count()
count()
Функция count
подсчитывает число узлов в наборе узлов
number count(node-set)
Функция принимает набор узлов и возвращает количество узлов в этом наборе. Следующий пример применения функции count
мы уже рассматривали в главе 6. В этом случае набор узлов образован из всех элементов <PLANET>
в planets.xml
; я получил его при помощи пути расположения «//PLANET
»:
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="xml" indent="yes"/>
<xsl:template match="*">
<xsl:copy>
<xsl:apply-templates/>
</xsl:copy>
</xsl:template>
<xsl:template match="PLANET">
<xsl:copy use-attribute-sets="numbering">
<xsl:apply-templates/>
</xsl:copy>
</xsl:template>
<xsl:attribute-set name="numbering">
<xsl:attribute name="number"><xsl:number/></xsl:attribute>
<xsl:attribute name="total">
<xsl:value-of select="count(//PLANET)"/>
</xsl:attribute>
</xsl:attribute-set>
</xsl:stylesheet>
Заметьте, что в приведенном ниже результате каждый элемент <PLANET>
обладает и атрибутом number
, и атрибутом total
, а атрибут total
хранит общее количество элементов <PLANET>
, которое было найдено при помощи count
:
<?xml version="1.0" encoding="UTF-8"?>
<PLANETS>
<PLANET number="1" total="3">
<NAME>Mercury</NAME>
<MASS>.0553</MASS>
<DAY>58.65</DAY>
<RADIUS>1516</RADIUS>
<DENSITY>.983</DENSITY>
<DISTANCE>43.4</DISTANCE>
</PLANET>
<PLANET number="2" total="3">
<NAME>Venus</NAME>
<MASS>.815</MASS>
<DAY>116.75</DAY>
<RADIUS>3716</RADIUS>
<DENSITY>.943</DENSITY>
<DISTANCE>66.8</DISTANCE>
</PLANET>
<PLANET number="3" total="3">
<NAME>Earth</NAME>
<MASS>1</MASS>
<DAY>1</DAY>
<RADIUS>2107</RADIUS>
<DENSITY>1</DENSITY>
<DISTANCE>128.4</DISTANCE>
</PLANET>
</PLANETS>
- Shadow count
- SEMAPHORE COUNT
- 2. Binary – the way micros count
- Creating a Root Password and User Accounts
- User Accounts
- Count the Number of Connections
- PROJECT 6.5 — 7-Segment LED Counter
- PROJECT 6.7 — Two-Digit Multiplexed 7-Segment LED Counter with Timer Interrupt
- Chapter 10. IP Accounting
- Configuring the Kernel for IP Accounting
- Configuring IP Accounting
- Accounting by Address