Чтение онлайн

на главную

Жанры

Технология XSLT

Валиков Алексей Н.

Шрифт:

 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="&#x221E;"

 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
:

Поделиться:
Популярные книги

Проклятый Лекарь. Род III

Скабер Артемий
3. Каратель
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Проклятый Лекарь. Род III

Мастер Разума III

Кронос Александр
3. Мастер Разума
Фантастика:
героическая фантастика
попаданцы
аниме
5.25
рейтинг книги
Мастер Разума III

Измена. Возвращение любви!

Леманн Анастасия
3. Измены
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Измена. Возвращение любви!

Неудержимый. Книга XI

Боярский Андрей
11. Неудержимый
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Неудержимый. Книга XI

Сердце Дракона. Том 9

Клеванский Кирилл Сергеевич
9. Сердце дракона
Фантастика:
фэнтези
героическая фантастика
боевая фантастика
7.69
рейтинг книги
Сердце Дракона. Том 9

Война

Валериев Игорь
7. Ермак
Фантастика:
боевая фантастика
альтернативная история
5.25
рейтинг книги
Война

Под маской моего мужа

Рам Янка
Любовные романы:
современные любовные романы
5.67
рейтинг книги
Под маской моего мужа

Камень. Книга 3

Минин Станислав
3. Камень
Фантастика:
фэнтези
боевая фантастика
8.58
рейтинг книги
Камень. Книга 3

Измена. Право на счастье

Вирго Софи
1. Чем закончится измена
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Измена. Право на счастье

Газлайтер. Том 12

Володин Григорий Григорьевич
12. История Телепата
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Газлайтер. Том 12

Сиротка

Первухин Андрей Евгеньевич
1. Сиротка
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Сиротка

Охота на эмиссара

Катрин Селина
1. Федерация Объединённых Миров
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Охота на эмиссара

Кодекс Охотника. Книга XV

Винокуров Юрий
15. Кодекс Охотника
Фантастика:
попаданцы
аниме
5.00
рейтинг книги
Кодекс Охотника. Книга XV

Сердце Дракона. Том 12

Клеванский Кирилл Сергеевич
12. Сердце дракона
Фантастика:
фэнтези
героическая фантастика
боевая фантастика
7.29
рейтинг книги
Сердце Дракона. Том 12