Element XSLT <xsl:number>

Definicja i użycie

<xsl:number> element jest używany do określenia liczby całkowitej pozycji bieżącego węzła w źródle. Jest również używany do wstawiania sformatowanych liczb do drzewa wynikowego.

Gramatyka

<xsl:number
licz="wyrażenie"
level="jedna|wiele|każdy"
from="wyrażenie"
value="wyrażenie"
format="formatstring"
lang="kod_językowy"
letter-value="alphabetic|traditional"
grouping-separator="znak"
grouping-size="liczba"/>

atrybut

atrybut wartość opis
licz wyrażenie Dostępne. Wyrażenie XPath, które określa, które węzły mają być obliczane.
poziom
  • jedna
  • wiele
  • każdy

Dostępne. Kontroluje sposób przypisywania numerów.

Wartość może być:

  • jedna (domyślnie)
  • wiele
  • każdy (Netscape 6 nie obsługuje)
od wyrażenie Dostępne. Wyrażenie XPath, które określa, od czego zaczynać liczenie.
wartość wyrażenie Dostępne. Określa liczbę dostarczoną przez użytkownika, która zastępuje generowany numer.
format formatstring Opcjonalne. Definiuje format wyjścia liczby.Dostępne wartości.
lang languagecode Opcjonalne. Określa używaną alfabetę językową do numeracji.
letter-value
  • alphabetic
  • traditional
Opcjonalne. Usuwa niejasności między sekwencjami liczb z użyciem liter. Wartość "alphabetic" wskazuje sekwencję liter; wartość "traditional" wskazuje inne sekwencje. Domyślna wartość to "alphabetic".
grouping-separator character Opcjonalne. Określa, jakim znakiem oddzielać grupy lub liczby. Domyślnie to przecinek.
grouping-size number Opcjonalne. Określa rozmiar grupy. Domyślnie to 3.

Format znacznika

Format znacznika Generowany ciąg
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...

Komentarz:Netscape 6 nie obsługuje znaczników: 01, a, A, i, I.

Przykład

Przykład 1

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

Wynik:

250.000

Przykład 2

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

Wynik:

25,00,00

Przykład 3

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

Wynik:

X#I#I

Przykład 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>