Elemento <xsl:number> de XSLT

Definición y uso

<xsl:number> elemento se utiliza para determinar la posición entera actual del nodo en el origen. También se utiliza para insertar números formateados en el árbol de resultados.

Gramática

<xsl:number
count="expression"
level="single|multiple|any"
from="expression"
value="expression"
format="formatstring"
lang="languagecode"
letter-value="alphabetic|traditional"
grouping-separator="character"
grouping-size="number"/>

Atributo

Atributo Valor Descripción
count expression Opcional. Expresión XPath que especifica los nodos a contar.
level
  • single
  • multiple
  • any

Opcional. Controla cómo se asignan los números.

Los valores pueden ser:

  • single (predeterminado)
  • multiple
  • any (No soportado por Netscape 6)
from expression Opcional. Expresión XPath que especifica desde dónde comenzar a contar.
value expression Opcional. Define un número proporcionado por el usuario para reemplazar el número generado.
format formatstring Opcional. Define el formato de salida de los números.Valores permitidos.
lang languagecode Opcional. Define el alfabeto del idioma utilizado para la numeración.
letter-value
  • alphabetic
  • traditional
Opcional. Elimina la ambigüedad entre secuencias de numeración con letras. El valor "alphabetic" especifica una secuencia de letras; el valor "traditional" especifica otras secuencias. El valor predeterminado es "alphabetic".
grouping-separator character Opcional. Define qué caracteres se utilizan para separar los grupos o números. El valor predeterminado es la coma.
grouping-size number Opcional. Define el tamaño del grupo. El valor predeterminado es 3.

Marca de formato

Marca de formato Secuencia generada
1 1 2 3 4 5 ... 10 11 12 ...
01 01 02 03 ... 19 10 11 ... 99 100 101...
a a b c . .
A A B C ...Z AA AB AC...
i i ii iii iv v vi vii viii ix x...
I I II III IV V VI VII VIII IX X...

Comentarios:Marcadores no soportados por Netscape 6: 01, a, A, i, I.

Ejemplo

Ejemplo 1

<xsl:number value="250000" grouping-separator="."/>

Salida:}

250.000

Ejemplo 2

<xsl:number value="250000" grouping-size="2"/>

Salida:}

25.000,00

Ejemplo 3

<xsl:number value="12" grouping-size="1" grouping-separator="#" format="I"/>

Salida:}

X#I#I

Ejemplo 4

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
<xsl:template match="/">
  <html>
  <body>
  <p>
  <xsl:for-each select="catalog/cd">
    <xsl:number value="position()" format="1" />
    <xsl:value-of select="title" /><br />
  </xsl:for-each>
  </p>
  </body>
  </html>
</xsl:template>
</xsl:stylesheet>