Elemento XSLT <xsl:number>

Definizione e uso

<xsl:number> elemento viene utilizzato per determinare la posizione intera del nodo corrente nella sorgente. Viene anche utilizzato per inserire numeri formattati nell'albero dei risultati.

Sintassi

<xsl:number
count="espressione"
level="singola|multipla|qualsiasi"
from="espressione"
value="espressione"
format="formatstring"
lang="languagecode"
letter-value="alphabetic|traditional"
grouping-separator="character"
grouping-size="number"/>

attributo

attributo valore descrizione
conta espressione Opzionale. Espressione XPath, specifica i nodi da calcolare.
livello
  • singola
  • multipla
  • qualsiasi

Opzionale. Controlla come assegnare i numeri di sequenza.

Il valore può essere:

  • singola (predefinito)
  • multipla
  • qualsiasi (Netscape 6 non supporta)
da espressione Opzionale. Espressione XPath, specifica da dove iniziare a contare.
valore espressione Opzionale. Specifica il numero fornito dall'utente, utilizzato per sostituire il numero di sequenza generato.
format formatstring Opzionale. Definisce il formato di output dei numeri.Valori utilizzabili.
lang languagecode Opzionale. Determina l'alfabeto linguistico utilizzato per numerare.
letter-value
  • alphabetic
  • traditional
Opzionale. Elimina le ambiguità tra le sequenze numeriche con lettere. Il valore "alphabetic" specifica la sequenza letteraria; il valore "traditional" specifica altre sequenze. Il valore predefinito è "alphabetic".
grouping-separator character Opzionale. Determina il carattere utilizzato per separare i gruppi o i numeri. Di default è la virgola.
grouping-size number Opzionale. Determina la dimensione del raggruppamento. Di default è 3.

Marcatura di formato

Marcatura di formato Sequence generata
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...

Nota:Tag non supportati da Netscape 6: 01, a, A, i, I.

Esempio

Esempio 1

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

Output:

250.000

Esempio 2

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

Output:

25,00,00

Esempio 3

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

Output:

X#I#I

Esempio 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>