Élément <xsl:number> de XSLT

Définition et utilisation

L'élément <xsl:number> est utilisé pour déterminer la position entière actuelle du nœud dans le source. Il est également utilisé pour insérer des nombres formatés dans l'arbre de résultat.

Grammaire

<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"/>

Attribut

Attribut Valeur Description
count expression Optionnel. Expression XPath, qui indique les nœuds à calculer.
level
  • single
  • multiple
  • any

Optionnel. Contrôle de la manière dont les numéros sont attribués.

Les valeurs peuvent être :

  • single (par défaut)
  • multiple
  • any (Netscape 6 n'est pas pris en charge)
from expression Optionnel. Expression XPath, qui indique d'où commencer le comptage.
value expression Optionnel. Définit le nombre fourni par l'utilisateur pour remplacer le numéro généré.
format formatstring Optionnel. Définir le format de sortie des nombres.Valeurs utilisables.
lang languagecode Optionnel. Définir l'alphabet utilisé pour le numéro de langage.
letter-value
  • alphabetic
  • traditional
Optionnel. Éliminer les ambiguïtés entre les séquences numériques alphabétiques. La valeur "alphabetic" indique une séquence alphabétique ; la valeur "traditional" indique d'autres séquences. La valeur par défaut est "alphabetic".
grouping-separator character Optionnel. Définir quel caractère est utilisé pour séparer les groupes ou les nombres. La valeur par défaut est la virgule.
grouping-size number Optionnel. Définir la taille du groupe. La valeur par défaut est 3.

Marqueur de format

Marqueur de format Séquence générée
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...

Remarque :Balises non prises en charge par Netscape 6 : 01, a, A, i, I.

Exemple

Exemple 1

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

Sortie :

250.000

Exemple 2

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

Sortie :

25,00,00

Exemple 3

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

Sortie :

X#I#I

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