format-number(123456789.0123,'0000,000,00') β '1,23,45,67,89'
ΠΡΠΎΠ±Π½Π°Ρ ΡΠ°ΡΡΡ ΡΠΈΡΠ»Π°, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½Π°Ρ Π½Π΅ΡΠ΅ΡΠΌΠΈΠ½Π°Π»ΠΎΠΌ NFFraction, Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠΌ-ΡΠ°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»Π΅ΠΌ ΡΠ΅Π»ΠΎΠΉ ΠΈ Π΄ΡΠΎΠ±Π½ΠΎΠΉ ΡΠ°ΡΡΠΈ NFFractionDelim (ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ "."), ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΡΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΠΉ ΡΠΈΡΡ NFReqDigit ΠΈ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Π΅ΡΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΠΉ NFOptDigit:
[NF 6] NFFraction ::= NFFractionDelim NFReqDigit* NFOptDigit*
ΠΡΠΈΠΌΠ΅ΡΡformat-number(1234.567,'#.00') β '1234.57'
format-number(1234.567,'#.00#') β '1234.567'
format-number(1234.567,'#.0000') β '1234.5670'
ΠΡΠΎΠ΄ΡΠΊΡΠΈΡ NFChar, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠ°ΡΡΡ ΠΏΡΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ ΠΏΡΠ΅ΡΠΈΠΊΡΠ° (NFPrefix) ΠΈ ΡΡΡΡΠΈΠΊΡΠ° (NFSuffix), ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ Π»ΡΠ±ΡΠ΅ Π½Π΅ΡΠΎΡΠΌΠ°ΡΠΈΡΡΡΡΠΈΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ:
[NF 7] NFChar ::= (Char - NFSymbol)
Π ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΌ ΡΠΎΡΠΌΠ°ΡΠΈΡΡΡΡΠΈΠΌ ΡΠΈΠΌΠ²ΠΎΠ»Π°ΠΌ ΠΎΡΠ½ΠΎΡΡΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅:
β‘ ΡΠΈΠΌΠ²ΠΎΠ» ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ ΡΠΈΡΡΡ (ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ "0");
β‘ ΡΠΈΠΌΠ²ΠΎΠ» Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ ΡΠΈΡΡΡ (ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ "#");
β‘ ΡΠΈΠΌΠ²ΠΎΠ»-ΡΠ°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»Ρ ΠΎΠ±ΡΠ°Π·ΡΠΎΠ² ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π»Ρ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠΈΡΠ»Π° (ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ";");
β‘ ΡΠΈΠΌΠ²ΠΎΠ»-ΡΠ°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»Ρ ΡΠ΅Π»ΠΎΠΉ ΠΈ Π΄ΡΠΎΠ±Π½ΠΎΠΉ ΡΠ°ΡΡΠΈ (ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ".");
β‘ ΡΠΈΠΌΠ²ΠΎΠ» ΠΏΡΠΎΡΠ΅Π½ΡΠ° (ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ "%").
ΠΠ΅ΡΠ΅ΡΠΈΡΠ»ΠΈΠΌ ΠΈΡ ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΠΈ:
[NF 8] NFSymbol ::= NFReqDigit
| NFOptDigit
| NFSubpatternDelim
| NFFractionDelim
| NFGroupDelim
| NFPercent
[NF 9] NFReqDigit ::= '0'
[NF 10] NFOptDigit ::= '#'
[NF 11] NFSubpatternDelim ::= ';'
[NF 12] NFFractionDelim ::= '.'
[NF 13] NFGroupDelim ::= ','
[NF 14] NFPercent ::= '%'
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π°, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ ΠΏΡΠΈΠ²Π΅Π»ΠΈ Π²ΡΡΠ΅, ΠΏΠΎΠΊΠ° Π½Π΅ ΡΠ²Π»ΡΡΡΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΌΠΈ. ΠΠ½ΠΈ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΠΎΠ±ΡΠ°Π·ΡΠ° ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π½ΠΎ ΡΠ²Π»ΡΡΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΡΡΠΎΠ³ΠΈΠΌΠΈ, ΡΠ΅ΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΡΠ·ΡΠΊΠ° Java.
ΠΠ»Π΅ΠΌΠ΅Π½Ρ xsl:decimal-format
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π·Π°Π΄Π°Π½ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠ΅ΠΉ Π²ΠΈΠ΄Π°:
<xsl:decimal-format
name="ΠΈΠΌΡ"
decimal-separator="ΡΠΈΠΌΠ²ΠΎΠ»"
grouping-separator="ΡΠΈΠΌΠ²ΠΎΠ»"
infinity="ΡΡΡΠΎΠΊΠ°"
minus-sign="ΡΠΈΠΌΠ²ΠΎΠ»"
NaN="ΡΡΡΠΎΠΊΠ°"
percent="ΡΠΈΠΌΠ²ΠΎΠ»"
per-mille="ΡΠΈΠΌΠ²ΠΎΠ»"
zero-digit="ΡΠΈΠΌΠ²ΠΎΠ»"
digit="ΡΠΈΠΌΠ²ΠΎΠ»"
pattern-sΠ΅ΡΠ°rator="ΡΠΈΠΌΠ²ΠΎΠ»"/>
XSLT ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ, Π²Π»ΠΈΡΡΡΠΈΠ΅ Π½Π° ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΡΠΎΠΊΠΈ. ΠΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΠΉ Π½Π°Π±ΠΎΡ ΡΠ°ΠΊΠΈΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ Π΄ΡΡΠ³ΠΈΡ ΡΠΊΠ°Π·Π°Π½ΠΈΠΉ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Π΄Π΅ΡΡΡΠΈΡΠ½ΡΠΌ ΡΠΎΡΠΌΠ°ΡΠΎΠΌ ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠΌ xsl:decimal-format. ΠΡ Π°ΡΡΠΈΠ±ΡΡΠΎΠ² ΡΡΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π·Π°Π²ΠΈΡΠΈΡ, ΠΊΠ°ΠΊ Π±ΡΠ΄ΡΡ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ»Ρ ΠΎΠ±ΡΠ°Π·ΡΠ° ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΠΊΠ°ΠΊ ΡΠΈΡΠ»ΠΎ Π±ΡΠ΄Π΅Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ Π½Π° Π²ΡΡ ΠΎΠ΄Π΅:
ΠΡΡΠΈΠ±ΡΡ name ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° xsl:decimal-format Π·Π°Π΄Π°Π΅Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΠΎΠ΅ ΠΈΠΌΡ Π΄Π΅ΡΡΡΠΈΡΠ½ΠΎΠ³ΠΎ ΡΠΎΡΠΌΠ°ΡΠ°. ΠΡΠ»ΠΈ ΠΈΠΌΡ Π½Π΅ ΡΠΊΠ°Π·Π°Π½ΠΎ, ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΡΠ»Π΅ΠΌΠ΅Π½Ρ xsl:decimal-format ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ Π΄Π΅ΡΡΡΠΈΡΠ½ΡΠΉ ΡΠΎΡΠΌΠ°Ρ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ.
ΠΡΡΠ°Π»ΡΠ½ΡΠ΅ Π°ΡΡΠΈΠ±ΡΡΡ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΡΡΡ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΈΡ ΡΠΎΡΠΌΠ°ΡΠΈΡΡΡΡΠ΅Π³ΠΎ ΠΎΠ±ΡΠ°Π·ΡΠ° ΠΈ Π²ΡΠ²ΠΎΠ΄ ΡΡΡΠΎΠΊΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠΈΡΠ»Π° ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
β‘ decimal-separator β Π·Π°Π΄Π°Π΅Ρ ΡΠΈΠΌΠ²ΠΎΠ», ΡΠ°Π·Π΄Π΅Π»ΡΡΡΠΈΠΉ ΡΠ΅Π»ΡΡ ΠΈ Π΄ΡΠΎΠ±Π½ΡΡ ΡΠ°ΡΡΠΈ ΡΠΈΡΠ»Π°. ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΡΠΎΠ³ΠΎ Π°ΡΡΠΈΠ±ΡΡΠ° ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ» ".", Ρ Unicode-ΠΊΠΎΠ΄ΠΎΠΌ #x2e. ΠΡΡΠΈΠ±ΡΡ decimal-separator ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΡΠΈΠΌΠ²ΠΎΠ» ΠΎΠ±ΡΠ°Π·ΡΠ° ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΎΠ½ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ ΠΊΠ°ΠΊ ΡΠ°Π·Π΄Π΅Π»ΡΡΡΠΈΠΉ ΡΠΈΠΌΠ²ΠΎΠ» ΠΏΡΠΈ Π²ΡΠ²ΠΎΠ΄Π΅;
β‘ grouping-separator β Π·Π°Π΄Π°Π΅Ρ ΡΠΈΠΌΠ²ΠΎΠ», Π³ΡΡΠΏΠΏΠΈΡΡΡΡΠΈΠΉ ΡΠΈΡΡΡ Π² ΡΠ΅Π»ΠΎΠΉ ΡΠ°ΡΡΠΈ Π·Π°ΠΏΠΈΡΠΈ ΡΠΈΡΠ»Π°. Π’Π°ΠΊΠΈΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ Π³ΡΡΠΏΠΏΠΈΡΠΎΠ²ΠΊΠΈ ΡΡΡΡΡ ("1,234,567.89"). ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ» ",", ΠΊΠΎΠ΄ #x2c. grouping-separator ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΡΠΈΠΌΠ²ΠΎΠ» ΠΎΠ±ΡΠ°Π·ΡΠ° ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΠΎΠΌΠΈΠΌΠΎ ΡΡΠΎΠ³ΠΎ, ΠΎΠ½ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ ΠΊΠ°ΠΊ ΡΠ°Π·Π΄Π΅Π»ΡΡΡΠΈΠΉ ΡΠΈΠΌΠ²ΠΎΠ» Π³ΡΡΠΏΠΏ ΡΠΈΡΡ ΠΏΡΠΈ Π²ΡΠ²ΠΎΠ΄Π΅ ΡΠΈΡΠ»Π°;
β‘ percent β Π·Π°Π΄Π°Π΅Ρ ΡΠΈΠΌΠ²ΠΎΠ» ΠΏΡΠΎΡΠ΅Π½ΡΠ°. ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ» "%", ΠΊΠΎΠ΄ #x25. ΠΡΠΎΡ ΡΠΈΠΌΠ²ΠΎΠ» Π±ΡΠ΄Π΅Ρ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π²Π°ΡΡΡΡ Π² ΠΎΠ±ΡΠ°Π·ΡΠ΅ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΏΡΠΈ Π²ΡΠ²ΠΎΠ΄Π΅;
β‘ per-mille β Π·Π°Π΄Π°Π΅Ρ ΡΠΈΠΌΠ²ΠΎΠ» ΠΏΡΠΎΠΌΠΈΠ»Π»Π΅. ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ» "β°", ΠΊΠΎΠ΄ #Ρ 2030. Π‘ΠΈΠΌΠ²ΠΎΠ» ΠΏΡΠΎΠΌΠΈΠ»Π»Π΅ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π΅ΡΡΡ Π² ΠΎΠ±ΡΠ°Π·ΡΠ΅ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² ΡΡΡΠΎΠΊΠΎΠ²ΠΎΠΌ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠΈ ΡΠΈΡΠ»Π°;
β‘ zero-digit β Π·Π°Π΄Π°Π΅Ρ ΡΠΈΠΌΠ²ΠΎΠ» Π½ΡΠ»Ρ. ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ» "0", ΠΊΠΎΠ΄ #x30;. Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠΈΡΡ ΠΏΡΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΈ ΡΠΈΡΠ»Π° Π±ΡΠ΄ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ» Π½ΡΠ»Ρ ΠΈ 9 ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², ΡΠ»Π΅Π΄ΡΡΡΠΈΡ Π·Π° Π½ΠΈΠΌ. Π‘ΠΈΠΌΠ²ΠΎΠ» Π½ΡΠ»Ρ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π΅ΡΡΡ Π² ΠΎΠ±ΡΠ°Π·ΡΠ΅ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΡΠΈ Π²ΡΠ²ΠΎΠ΄Π΅ ΡΡΡΠΎΠΊΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠΈΡΠ»Π°;
β‘ digit β ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΠΈΠΌΠ²ΠΎΠ», ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² ΠΎΠ±ΡΠ°Π·ΡΠ΅ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»Π°. ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ» "#". ΠΡΠΎΡ ΡΠΈΠΌΠ²ΠΎΠ» ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ ΡΠΎΡΠΌΠ°ΡΠΈΡΡΡΡΠΈΠΉ ΡΠΈΠΌΠ²ΠΎΠ» Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΠΈΡΡΡ. ΠΠ½ Π½Π΅ Π²ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΡΡΠΎΠΊΠΎΠ²ΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠΈΡΠ»Π°;
β‘ pattern-separator β ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΠΈΠΌΠ²ΠΎΠ», ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² ΠΎΠ±ΡΠ°Π·ΡΠ΅ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π»Ρ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠΎΡΠΌΠ°ΡΠΎΠ² ΡΠΈΡΠ»Π°. ΠΠ½ Π½Π΅ Π²ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΡΡΠΎΠΊΠΎΠ²ΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠΈΡΠ»Π°. ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΡΠΎΠ³ΠΎ Π°ΡΡΠΈΠ±ΡΡΠ° ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ» ";";
β‘ infinity β Π·Π°Π΄Π°Π΅Ρ ΡΡΡΠΎΠΊΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΠΎΡΡΡ. ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΡΠΎΠΊΠ° "Infinity";
β‘ NaN β Π·Π°Π΄Π°Π΅Ρ ΡΡΡΠΎΠΊΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ Π½Π΅-ΡΠΈΡΠ»Π°. ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΡΠΎΠΊΠ° "NaN";
β‘ minus-sign β Π·Π°Π΄Π°Π΅Ρ ΡΠΈΠΌΠ²ΠΎΠ», ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΡ ΡΠΈΡΠ΅Π». ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ» "-", ΠΊΠΎΠ΄ #x2D.
ΠΠ»Π΅ΠΌΠ΅Π½Ρ xsl:decimal-format Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΡΠΌΡΡΠ»Π° Π±Π΅Π· ΡΡΠ½ΠΊΡΠΈΠΈ format-number. ΠΡΠ΅, Π½Π° ΡΡΠΎ Π²Π»ΠΈΡΡΡ Π΅Π³ΠΎ Π°ΡΡΠΈΠ±ΡΡΡ β ΡΡΠΎ ΡΠΎΡΠΌΠ°Ρ, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΏΡΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΠΈΡΠ΅Π» Π² ΡΡΡΠΎΠΊΡ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ format-number.
ΠΡΠΈΠΌΠ΅ΡΡΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π΄Π΅ΡΡΡΠΈΡΠ½ΠΎΠ³ΠΎ ΡΠΎΡΠΌΠ°ΡΠ°:
<xsl:decimal-format
name="format1"
decimal-separator=","
minus-sign="N"
grouping-separator=":"
infinity="∞"
NaN="not-a-number"
percent="%"
digit="$"
pattern-separator="|"/>
ΠΡΠΈΠΌΠ΅ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ format-number:
format-number(123456.78, '$,0000', 'format1) β '123456,7800'
format-number(-123456.78, '$,00$$', 'format1') β 'N123456,78'
format-number(123456.78, '$,0000|$,0000-', 'format1') β '123456,7800'
format-number(-123456.78, '$,00001$,0000-', 'format1') β '123456,7800-'
format-number(-123456.78, '000:000:000,00$$', 'format1') β 'N000:123:456,78'
format-number('zero', '000:000:000,00$$', 'format1') -> 'not-a-number'
format-number(1 div 0, '$,$', 'format1') β 'β'
format-number(-1 div 0, '$,$', 'format1') β 'Nβ'
ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π΄Π΅ΡΡΡΠΈΡΠ½ΠΎΠ³ΠΎ ΡΠΎΡΠΌΠ°ΡΠ°:
<xsl:decimal-format name="format2" zero-digit="/"/>
ΠΡΠΈΠΌΠ΅ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ format-number:
format-number(123456789, '#', 'format2') β '012345678'
format-number(123456789, '#') β '123456780'
ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π΄Π΅ΡΡΡΠΈΡΠ½ΠΎΠ³ΠΎ ΡΠΎΡΠΌΠ°ΡΠ°:
<xsl:decimal-format name="format3" zero-digit="1"/>
ΠΡΠΈΠΌΠ΅ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ format-number:
format-number(123456789, '#', 'format3') β '23456789:'
format-number(12345.06789, '#.#####', 'format3') β '23456.1789:'
ΠΠ΅ΡΡΡΠΈΡΠ½ΡΠΉ ΡΠΎΡΠΌΠ°Ρ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠΌ xsl:decimal-format, Π² ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΠΌΠ½ΠΎΠ³ΠΈΡ Π΄ΡΡΠ³ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ Π² ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡΡ ΡΠΎ ΡΡΠ°ΡΡΠΈΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠΎΠΌ ΠΈΠΌΠΏΠΎΡΡΠ°. ΠΠ»Π΅ΠΌΠ΅Π½ΡΡ xsl:decimal-format Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ Π΄Π΅ΡΡΡΠΈΡΠ½ΡΠ΅ ΡΠΎΡΠΌΠ°ΡΡ Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ (Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠ΅Ρ ΡΠ»ΡΡΠ°Π΅Π², ΠΊΠΎΠ³Π΄Π° Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΈΡ Π°ΡΡΠΈΠ±ΡΡΠΎΠ² ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡ).
ΠΠΎΠ½ΡΡΠΎΠ»Ρ Π²ΡΠ²ΠΎΠ΄Π° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°
ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ, ΡΡΠΎ XSLT-ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π»ΠΈΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²ΡΠ²Π°ΡΡ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ², ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠ΅ Π² Π²ΠΈΠ΄Π΅ Π΄Π΅ΡΠ΅Π²ΡΠ΅Π², ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΈΠ· Π½ΠΈΡ ΠΈΠΌΠ΅ΡΡ ΡΠ°ΠΊΠΆΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²ΡΠ΄Π°Π²Π°ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ Π² Π²ΠΈΠ΄Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ².
ΠΠ»Π΅ΠΌΠ΅Π½Ρ xsl:output
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΡΡΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ Π½ΠΈΠΆΠ΅:
<xsl:output
method = "xml" | "html" | "text" | "ΠΈΠΌΡ"
version = "ΡΠΎΠΊΠ΅Π½"
encoding = "ΡΡΡΠΎΠΊΠ°"
omit-xml-declaration = "yes" | "no"
standalone = "yes" | "no"
doctype-public = "ΡΡΡΠΎΠΊΠ°"
doctype-system = "ΡΡΡΠΎΠΊΠ°"
cdata-section-elements = "ΠΈΠΌΠ΅Π½Π°"
indent = "yes" | "no"
media-type = "ΡΡΡΠΎΠΊΠ°"/>
ΠΠ»Π΅ΠΌΠ΅Π½Ρ Π²Π΅ΡΡ Π½Π΅Π³ΠΎ ΡΡΠΎΠ²Π½Ρ xsl:output ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ, ΠΊΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ Π²ΡΠ²Π΅Π΄Π΅Π½ΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠΈΡΡΡΡΠ΅Π΅ Π΄Π΅ΡΠ΅Π²ΠΎ.
ΠΠ»Π°Π²Π½ΡΠΌ Π°ΡΡΠΈΠ±ΡΡΠΎΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° xsl:output ΡΠ²Π»ΡΠ΅ΡΡΡ Π°ΡΡΠΈΠ±ΡΡ method, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ, ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅ΡΠΎΠ΄ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°. ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΡΠΎΠ³ΠΎ Π°ΡΡΠΈΠ±ΡΡΠ° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π»ΡΠ±ΠΎΠ΅ ΠΈΠΌΡ, Π½ΠΎ ΠΏΡΠΈ ΡΡΠΎΠΌ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΡ XSLT ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° Π²ΡΠ²ΠΎΠ΄Π° β "xml", "html" ΠΈ "text". Π ΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π½Π΅ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ Π²ΡΠ²ΠΎΠ΄Π°, Π΅Π³ΠΎ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ.