number value="position()" format="1. " : number « XSLT stylesheet « XML Tutorial






File: Data.xml
<?xml version="1.0" encoding="UTF-8"?>

<provinces>
 <name>Alberta</name>
 <name>British Columbia</name>
 <name>Manitoba</name>
 <name>New Brunswick</name>
 <name>Newfoundland and Labrador</name>
 <name>Northwest Territories</name>
 <name>Nova Scotia</name>
 <name>Nunavut</name>
 <name>Ontario</name>
 <name>Prince Edward Island</name>
 <name>Quebec</name>
 <name>Saskatchewan</name>
 <name>Yukon</name>
</provinces>


File: Transform.xslt

<?xml version="1.0" encoding="US-ASCII"?>
<xsl:stylesheet version="1.0"
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:output method="text" />

  <xsl:template match="provinces">
    <xsl:apply-templates select="name">
      <xsl:sort order="descending" />
    </xsl:apply-templates>
  </xsl:template>

  <xsl:template match="name">
    <xsl:number value="position()" format="1. " />
    <xsl:apply-templates />
    <xsl:text>&#10;</xsl:text>
  </xsl:template>

</xsl:stylesheet>
Output:
1. Yukon
2. Saskatchewan
3. Quebec
4. Prince Edward Island
5. Ontario
6. Nunavut
7. Nova Scotia
8. Northwest Territories
9. Newfoundland and Labrador
10. New Brunswick
11. Manitoba
12. British Columbia
13. Alberta








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