count="manufacturer|car" level="any" format="1. " : number « XSLT stylesheet « XML Tutorial






File: Data.xml
<?xml version="1.0" encoding="utf-8"?>
<cars>
  <manufacturer name="Chevrolet">
    <car>Cavalier</car>
    <car>Corvette</car>
    <car>Impala</car>
    <car>Malibu</car>
  </manufacturer>
  <manufacturer name="Ford">
    <car>Pinto</car>
    <car>Mustang</car>
    <car>Taurus</car>
  </manufacturer>
  <manufacturer name="Volkswagen">
    <car>Beetle</car>
    <car>Jetta</car>
    <car>Passat</car>
    <car>Touraeg</car>
  </manufacturer>
</cars>


File: Transform.xslt

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0"
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

  <xsl:output method="text"/>

  <xsl:template match="/">
    <xsl:text>Automobile manufacturers and their cars&#xA;</xsl:text>
    <xsl:for-each select="cars/manufacturer">
      <xsl:number count="manufacturer|car" level="any" format="1. "/>
      <xsl:value-of select="@name"/>
      <xsl:text>&#xA;</xsl:text>
      <xsl:for-each select="car">
        <xsl:number count="manufacturer|car" level="any" format="1. "/>
        <xsl:value-of select="."/>
        <xsl:text>&#xA;</xsl:text>
      </xsl:for-each>
    </xsl:for-each>
  </xsl:template>

</xsl:stylesheet>

Output:

Automobile manufacturers and their cars
1. Chevrolet
2. Cavalier
3. Corvette
4. Impala
5. Malibu
6. Ford
7. Pinto
8. Mustang
9. Taurus
10. Volkswagen
11. Beetle
12. Jetta
13. Passat
14. Touraeg








5.16.number
5.16.1.number level="any" count="section | element" format="1. "
5.16.2.number format: roman
5.16.3.number format=" 01. "
5.16.4.number value="1000000" grouping-size="3" grouping-separator=","
5.16.5.number format="A."
5.16.6.number format="I "
5.16.7.number format=" a. "
5.16.8.number value="position()" format="1. "
5.16.9.number format="1. "
5.16.10.number value="count(car)" format="01"
5.16.11.number count="manufacturer|car" level="multiple" format="1.1. "
5.16.12.count="manufacturer|car" level="any" format="1. "
5.16.13.xsl:number inserts formated numbers into output
5.16.14.The format is given with format attribute.
5.16.15.The attribute starts with format identificator followed by separator characters.
5.16.16.xsl:number value="position()" format="a# "
5.16.17.xsl:number value="position()" format="i: "
5.16.18.xsl:number value="position()" format="I... "
5.16.19.demonstrates the default behaviour of xsl:number element
5.16.20.Setting the attribute level into multiple