Count elements and attributes : Abbreivation « XPath « XML Tutorial






File: Data.xml

<?xml version="1.0"?>
<list xml:lang="en">
  <title>title 1</title>
  <listitem>item 1</listitem>
  <listitem>item 2</listitem>
  <listitem>item 3</listitem>
  <listitem xml:lang="sw">item 4</listitem>
  <listitem xml:lang="en-gb">item 5</listitem>
  <listitem xml:lang="zu">item 6</listitem>
  <listitem xml:lang="jz">item 7</listitem>
</list>

File: Transform.xslt

<?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="/">
    <xsl:text>Your document contains </xsl:text>
    <xsl:value-of select="count(//*)"/>
    <xsl:text> elements and </xsl:text>
    <xsl:value-of select="count(//@*)"/>
    <xsl:text> attributes.&#xA;Have a great day!</xsl:text>
  </xsl:template>
  
</xsl:stylesheet>

Output:

Your document contains 9 elements and 5 attributes.
Have a great day!








4.10.Abbreivation
4.10.1.Wildcard "*" selects all possibilities
4.10.2."//" has two meanings
4.10.3.List the elements in an xml document
4.10.4.Count elements and attributes
4.10.5.template match="*" (asterisk)
4.10.6.template match="brand|name|units"
4.10.7.template match="/"
4.10.8.value-of select="."
4.10.9.Axis child:: can be be omitted from a location step as it is the default axis.
4.10.10... is short for parent::
4.10.11.// is short for /descendant-or-self::