Element XSLT <xsl:decimal-format>

Definicja i użycie

Element <xsl:decimal-format> definiuje znaki i symbole używane, gdy liczby są przekształcane na ciąg znaków za pomocą funkcji format-number().

Nie wszystkie kraje używają tych samych znaków do oddzielania części dziesiętnych od całkowitej lub grupowania liczb. Dzięki elementowi <xsl:decimal-format> możesz zmienić konkretne znaki na inne symbole.

Ten element jest elementem szczytowym (top level).

Funkcja format-number() może odnosić się do elementu <xsl:decimal-format> za pomocą nazwy (name).

gramatyka

<xsl:decimal-format
name="nazwa"
decimal-separator="znak" 
grouping-separator="znak" 
infinity="ciąg-znaków"
minus-sign="znak"
NaN="ciąg-znaków"
percent="znak"
per-mille="znak"
zero-digit="znak"
cyfra="znak"
pattern-separator="znak"/>

atrybut

atrybut wartość opis
nazwa nazwa Opcjonalne. Określa nazwę dla tego formatu.
znak-przecinka znak Opcjonalne. Określa znak, który jest używany do określenia znaku przecinka. Domyślnie to ".".
znak-oddzielający-grupy znak Opcjonalne. Określa znak, który jest używany do określenia znaku tysiąca. Domyślnie to ",".
nieskończoność ciąg-znaków Opcjonalne. Określa ciąg znaków używany do określenia nieskończoności. Domyślnie to "Infinity".
znak-minus znak Opcjonalne. Określa znak, który jest używany do określenia znaku minusa. Domyślnie to "-".
NaN ciąg-znaków Opcjonalne. Określa ciąg znaków używany, gdy wartość nie jest liczbą. Domyślnie to "NaN".
znak-procentu znak Opcjonalne. Określa znak, który jest używany do określenia znaku procentu. Domyślnie to "%".
znak-tysięcznika znak Opcjonalne. Określa znak, który jest używany do określenia znaku tysięcznika. Domyślnie to "‰".
znak-zero znak Opcjonalne. Określa znak, który jest używany do określenia cyfry 0. Domyślnie to "0".
cyfra znak Opcjonalne. Określa znak, który jest używany do wskazania miejsca, gdzie należy użyć liczby. Domyślnie to #.
separator-wzoru znak. Opcjonalne. Określa znak, który jest używany do oddzielania wzoru formatowania. Domyślnie to ";".

Przykład

Przykład 1

Poniżej znajduje się przykład, jak formatować jako walutę europejską (proszę zauważyć, że trzeci parametr funkcji format-number() odnosi się do nazwy elementu <xsl:decimal-format>):

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:decimal-format name="euro" decimal-separator="," grouping-separator="."/>
<xsl:template match="/">
<xsl:value-of select="format-number(26825.8, '#.###,00', 'euro')"/>
</xsl:template>
</xsl:stylesheet>

Wynik:

26.825,80