XSLT <xsl:decimal-format> ögesi

Tanım ve Kullanım

<xsl:decimal-format> ögesi, format-number() fonksiyonu ile sayıları dizgeye dönüştürürken kullanılacak karakterleri ve sembolleri tanımlar.

Tüm ülkeler, ondalık ve tamsayı kısımlarını ayırmak veya sayıları gruplamak için aynı karakterleri kullanmaz. <xsl:decimal-format> elementi ile, karakterleri daha farklı sembollere değiştirebilirsiniz.

Bu element üst düzey bir elementtir (top level).

format-number() fonksiyonu, <xsl:decimal-format> elementine ad (name) ile referans yapabilir.

Sözdizimi

<xsl:decimal-format
name="name"
decimal-separator="char" 
grouping-separator="char" 
infinity="string"
minus-sign="char"
NaN="string"
percent="char"
per-mille="char"
zero-digit="char"
digit="char"
pattern-separator="char"/>

Özellik

Özellik Değer Açıklama
name name Opsiyonel. Bu formata ad belirler.
decimal-separator char Opsiyonel. Ondalık noktası karakterini tanımlar. Varsayılan olarak "." dir.
grouping-separator char Opsiyonel. Binlik karakterini tanımlar. Varsayılan olarak "," dir.
infinity string Opsiyonel. Sonsuzluğu belirtmek için kullanılacak dizesi. Varsayılan olarak "Infinity" dir.
minus-sign char Opsiyonel. Negatif sayıları belirtmek için kullanılan karakteri tanımlar. Varsayılan olarak "-" dir.
NaN string Opsiyonel. Değer sayı değilse kullanılacak dizesi. Varsayılan olarak "NaN" dir.
percent char Opsiyonel. Yüzde işaretinin karakterini tanımlar. Varsayılan olarak "%" dir.
per-mille char Opsiyonel. Binlik karakterini tanımlar. Varsayılan olarak "‰" dir.
zero-digit char Opsiyonel. Sayı 0'nın karakterini tanımlar. Varsayılan olarak "0" dir.
digit char Opsiyonel. Sayı gerektiren yerleri belirtmek için kullanılan karakteri tanımlar. Varsayılan olarak # dir.
pattern-separator char. Opsiyonel. Format modelindeki pozitif ve negatif alt modelleri ayıran karakteri tanımlar. Varsayılan olarak ";" dir.

Örnek

Örnek 1

Aşağıdaki örnek, Avrupa para birimleri nasıl formatlanır göstermektedir (lütfen, format-number() fonksiyonundaki üçüncü parametre <xsl:decimal-format> elementinin adını referans alır):

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

Çıktı:

26.825,80