Elemento <xsl:number> de XSLT

Definición y uso

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

Sintaxis

<xsl:number
contar="expresión"
nivel="solo|múltiples|cualquiera"
from="expresión"
value="expresión"
format="cadenadeformato"
lang="códigodeidioma"
letter-value="alfabético|tradicional"
grouping-separator="carácter"
grouping-size="number"/>

atributo

atributo valor descripción
contar expresión Opcional. Expresión XPath que especifica los nodos a contar.
nivel
  • solo
  • múltiples
  • cualquiera

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

El valor puede ser:

  • solo (por defecto)
  • múltiples
  • cualquiera (Netscape 6 no es compatible)
desde expresión Opcional. Expresión XPath que especifica desde dónde comenzar a contar.
valor expresión Opcional. Define el número proporcionado por el usuario para reemplazar el número de secuencia generado.
format formatstring Opcional. Define el formato de salida de los números.Valores permitidos.
lang languagecode Opcional. Define el alfabeto de lenguaje 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 la 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:Etiquetas no soportadas 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>