Fonction count() |
Compte le nombre de nœuds d'un ensemble de nœuds donné.
Entrées
Un ensemble de nœuds.
Sortie
Le nombre de nœuds de l' ensemble de nœuds.
Définie dans
XPath section 4.1, Fonctions Ensemble de noeuds.
Exemples
Le document XML suivant illustre la fonction count() :
    <?xml version="1.0"?>
    <test>
      <p>This is a test XML document used by
      several of our sample stylesheets.</p>
      <question>
        <text>When completed, the Eiffel Tower was the
        tallest building in the world.</text>
        <true>You're correct!  The Eiffel Tower was the
        world's tallest building until 1930.</true>
        <false>No, the Eiffel Tower was the world's
        tallest building for over 30 years.</false>
      </question>
      <question>
        <text>New York's Empire State Building knocked
        the Eiffel Tower from its pedestal.</text>
        <true>No, that's not correct.</true>
        <false>Correct!  New York's Chrysler Building,
        completed in 1930, became the world's tallest.</false>
      </question>
    </test>
La feuille de style suivante illustre la fonction count() :
    <?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>Tests of the count() function:</xsl:text>

        <xsl:value-of select="$newline"/>
        <xsl:value-of select="$newline"/>
        <xsl:text>   count(/test)=</xsl:text>
        <xsl:value-of select="count(/test)"/>
        <xsl:value-of select="$newline"/>
        <xsl:text>   count(/true)=</xsl:text>
        <xsl:value-of select="count(/true)"/>
        <xsl:value-of select="$newline"/>
        <xsl:text>   count(//true)=</xsl:text>
        <xsl:value-of select="count(//true)"/>
        <xsl:value-of select="$newline"/>
        <xsl:text>   count(//test|//true|//text)=</xsl:text>
        <xsl:value-of select="count(//test|//true|//text)"/>
        <xsl:value-of select="$newline"/>
        <xsl:variable name="numberOfQuestions" select="count(/test/question)"/>
        <xsl:for-each select="/test/question">
          <xsl:text>   This is question number </xsl:text>
          <xsl:value-of select="position()"/>
          <xsl:text> of </xsl:text>
          <xsl:value-of select="$numberOfQuestions"/>

          <xsl:value-of select="$newline"/>
        </xsl:for-each>
      </xsl:template>

    </xsl:stylesheet>
Les résultats sont les suivants :
    Tests of the count() function:

       count(/test)=1
       count(/true)=0
       count(//true)=2
       count(//test|//true|//text)=5
       This is question number 1 of 2
       This is question number 2 of 2
Les quatre premières invocations de la fonction count() emploient uniquement des expressions XPath pour compter des éléments dans le document XML. La dernière utilisation de la fonction count() compte le nombre d'éléments <question> figurant dans le document et enregistre cette valeur dans une variable. Générer un texte du genre élément x de y est une technique répandue ; les fonctions count() et position() illustrent cette génération.