Element <xsl:number>
zlicza wszystko sekwencyjnie. Może być również zastosowany do szybkiego formatowania liczb.
Składnia
<xsl:number count=WYRAŻENIE level="single" | "multiple" | "any" from=WYRAŻENIE value=WYRAŻENIE format=ŁAŃCUCH_ZNAKÓW_FORMATU lang=XML:LANG-CODE letter-value="alphabetic" | "traditional" grouping-separator=SYMBOL grouping-size=LICZBA />
Wymagane atrybuty
Brak.
Opcjonalne atrybuty
count
- Określa co w drzewie źródłowym powinno zostać zliczone sekwencyjnie. Atrybut używa wyrażenia XPath.
level
- Określa w jaki sposób poziomy drzewa źródłowego powinny być traktowane w generowaniu liczb sekwencyjnych. Atrybut posiada trzy prawidłowe wartości:
single
,multiple
iany
. Domyślną wartością jestsingle
:
single
- Zlicza węzły-rodzeństwo sekwencyjnie tak, jak pozycje na liście. Procesor idzie do pierwszego węzła w osi
ancestor-or-self
, który pasuje do atrybutucount
i zlicza ten węzeł wraz z całym poprzedzającym go rodzeństwem (zatrzymując się po osiągnięciu odpowiednika atrybutufrom
, jeśli jakikolwiek istnieje), które również pasuje do atrybutucount
. Jeśli nie znaleziono odpowiednich węzłów, sekwencja będzie pustą listą.
multiple
- Zlicza węzły jako złożoną sekwencję, która odzwierciedla hierarchiczną pozycję węzła np. 1.2.2.5 (za pomocą atrybutu
format
można określić zagnieżdżony format np. A.1.1). Procesor patrzy na wszystkich przodków obecnego węzła i na sam węzeł, zatrzymując się po osiągnięciu odpowiednika atrybutufrom
, jeśli jakikolwiek istnieje. Dla każdego węzła na tej liście, który pasuje do atrybutucount
, procesor zlicza ile poprzedzającego (i pasującego) rodzeństwa posiada on dodając również jeden dla samego węzła. Jeśli nie znaleziono odpowiednich elementów, sekwencja będzie pustą listą.
any
(Obecnie nieobsługiwany)- Zlicza wszystkie pasujące węzły sekwencyjnie, niezależnie od ich poziomu. Brane są pod uwagę wszystkie osie
ancestor
,self
ipreceding
. Procesor zaczyna od aktualnego węzła kontynuując w odwrotnym kierunku dokumentu, zatrzymując się po osiągnięciu odpowiednika atrybutufrom
. Jeśli nie znaleziono węzłów pasujących do atrybutucount
, sekwencja będzie pustą listą. Ten poziom nie jest obecnie.
- from
- Określa gdzie powinno rozpocząć się zliczanie. Sekwencja rozpoczyna się od pierwszego potomka węzła pasującego do atrybutu
from
.
- value
- Stosuje podany format do liczby. Jest to szybki sposób na formatowanie liczb dostarczonych przez użytkownika (w przeciwieństwie do liczby sekwencyjnej węzła) w dowolnym ze standardowych formatów
<xsl:number>
.
- format
- Definiuje format generowanych liczb:
- format="1"
- <tt>1 2 3 . . .</tt> (Jest to jedyny obsługiwany obecnie format)
- format="01"
- <tt>01 02 03 . . . 09 10 11 . . .</tt>
- format="a"
- <tt>a b c . . .y z aa ab . . .</tt>
- format="A"
- <tt>A B C . . . Y Z AA AB . . .</tt>
- format="i"
- <tt>i ii iii iv v . . .</tt>
- format="I"
- <tt>I II III IV V . . .</tt>
- lang (Obecnie nieobsługiwany)
- Określa język, którego alfabet będzie stosowaniu w formatowaniu liczb opartym o litery.
- letter-value
- Wprowadza ujednoznacznienie między sekwencjami liczbowymi, które używają liter. Niektóre języki posiadają więcej niż jeden system liczbowy używający liter. Jeśli obydwa systemy zaczynają się tym samym znakiem, mogą powstać niejasności. Atrybut ten może posiadać wartość "
alphabetic
" (alfabetycznie) lub "traditional
" (tradycyjnie). Domyślną wartością jest "alphabetic
".
- grouping-separator
- Określa symbol jaki powinien zostać użyty jako separator grup. Domyślnym symbolem jest przecinek (
,
).
- grouping-size
- Wskazuje liczbę cyfr, z których składa się grupa numeryczna. Domyślną wartością jest "
3
".
Typ
Instrukcja, pojawia się wewnątrz szablonu.
Definicja
XSLT, sekcja 7.7
Gecko
Częściowo obsługuje. Zobacz powyższe komentarze.