xsl:number

Inserts a formatted number into the result tree.

Format

<xsl:number  
  [level = "single" | "multiple" | "any"] 
  [count = pattern] 
  [from = pattern] 
  [value = number-expression] 
  [format = {string}] 
  [lang = {nmtoken}] 
  [letter-value = {"alphabetic" | "traditional"}] 
  [grouping-separator = {char}] 
  [grouping-size = {number}]/>  

Description

You can use the value attribute to specify an expression for the number to be inserted. The XSLT processor evaluates the expression. The resulting object is converted to a number as if by a call to the number() function. The processor rounds the number to an integer and then uses the specified attributes to convert it to a string. The value of each attribute is interpreted as an attribute value template. After conversion, the resulting string is inserted in the result tree.

The following attributes control how the current node is to be numbered:

Example

The following example numbers a sorted list:

<xsl:template match="items"> 
  <xsl:for-each select="item"> 
    <xsl:sort select="."/> 
<p> 
  <xsl:number value="position()" format="1. "/> 
  <xsl:value-of select="."/> 
</p> 
  </xsl:for-each> 
</xsl:template> 

 
Free Stylus Studio XML Training: