Count node : count « XSLT stylesheet « XML Tutorial






File: Data.xml
<?xml version="1.0"?>
<?xml-stylesheet type="application/xml" href="Transform.xslt"?>
<people>
  <person born="2008" died="2008" id="1">
    <name>
      <first_name>A</first_name>
      <last_name>B</last_name>
    </name>
    <profession>A</profession>
    <profession>B</profession>
    <profession>C</profession>
  </person>

  <person born="2007" died="2007" id="2">
    <name>
      <first_name>D</first_name>
      <middle_initial>E</middle_initial>
      <last_name>F</last_name>
    </name>
    <profession>G</profession>
    <hobby>H</hobby>
  </person>

</people>

File: Transform.xslt
<?xml version="1.0"?> 
<xsl:stylesheet version="1.0" 
                xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

  <xsl:template match="people">
    <xsl:apply-templates select="person"/>
  </xsl:template>

  <xsl:template match="person">
    Person <xsl:value-of select="position()"/> 
    of <xsl:value-of select="count(//person)"/>:
    <xsl:value-of select="name"/>
  </xsl:template>

</xsl:stylesheet>

Output:

<?xml version="1.0" encoding="UTF-8"?>
    Person 1 
    of 2:
    
      A
      B
    
    Person 2 
    of 2:
    
      D
      E
      F








5.10.count
5.10.1.count()- Takes a node-set argument and returns a value equal to the number of nodes in the node-set
5.10.2.Use count function in math calculation
5.10.3.Count matches
5.10.4.Count node
5.10.5.count elements which occured in XML source
5.10.6.The count function returns the number of nodes in the argument node-set.