данных по свойствам символов Unicode), а значение Unicode предшествующих символов меньше чем значение Unicode последнего символа, генерирует такое десятичное представление числа, что любое число будет не короче лексемы форматирования. Так, лексема форматирования 1 генерирует последовательность 1 2 … 10 11 12 … , а лексема форматирования 01 дает последовательность 01 02 … 09 10 11 12 … 99 100 101.

Лексема форматирования A генерирует последовательность A B C … Z AA AB AC… .

Лексема форматирования a генерирует последовательность a b c … z aa ab ac… .

Лексема форматирования i генерирует последовательность i ii iii iv v vi vii viii ix x … .

Лексема форматирования I генерирует последовательность I II III IV V VI VII VIII IX X ….

Любая другая лексема форматирования задает последовательность нумерации, которая начинается с указанной лексемы. Если реализация процессора не поддерживает последовательность нумерации, начинающуюся с этой лексемы, должна использоваться лексема форматирования 1.

Если нумерация выполняется последовательностью букв, атрибут lang указывает, алфавит какого языка следует использовать. Атрибут имеет тот же самый диапазон значений, что и xml:lang в [XML]. Если значение lang не было указано, язык следует определить из системного окружения. Разработчикам процессоров следует документировать, для каких языков поддерживается нумерация.

Замечание: Разработчики не должны выдвигать каких-либо предположений о порядке нумерации в тех или иных языках, и должны должным образом исследовать те языки, которые они берутся поддерживать. Порядок нумерации во многих языках сильно отличается от принятого в английском языке.

Атрибут letter-value устраняет неясности в последовательностях нумерации, использующих буквы. Во многих языках обычно используются две основные последовательности нумерации, использующие буквы. В одной из них нумерация производится буквенными значениями в алфавитном порядке, в другой же числовое значение каждому пункту назначается по- другому, так как это принято для данного языка. В английском языке это будет соответствовать последовательностям нумерации, задаваемым лексемами форматирования a и i . В некоторых языках первый член обеих последовательностей одинаков, а потому одной лексемы форматирования будет недостаточно. Значение alphabetic указывает алфавитную последовательность, значение traditional – альтернативную. Если атрибут letter-value не указан, порядок разрешения любых неоднозначностей определяется реализацией.

Замечание: Два процессора, отвечающие спецификации XSLT, могут преобразовывать число в разные строки. Некоторые XSLT процессоры не имеют поддержки некоторых языков. Более того, для любого конкретного языка могут отличаться способы преобразования, не специфицируемые атрибутами xsl:number . В будущих версиях XSLT могут появиться дополнительные атрибуты, дающие контроль над такими вариациями. Для этой же цели реализации могут также использовать в xsl:number атрибуты из пространства имён, привязанного к реализации.

Атрибут grouping-separator определяет разделитель для группировки в десятичной нумерации (например, тысяч). Необязательный атрибут grouping-size указывает размер для группировки (обычно, 3). Например, grouping-separator=',' и grouping-size='3' должны определить числа в формате 1,000,000 . Если указан только один из атрибутов grouping- separator или grouping-size , он игнорируется.

Некоторые примеры спецификаций преобразования:

format='ア' задает нумерацию Katakana

format='イ' задает нумерацию Katakana в последовательности «iroha»

format='๑' задает нумерацию тайскими цифрами

format='א' letter-value='traditional' задает «традиционную» еврейскую нумерацию

format='ა' letter-value='traditional' задает григорианскую нумерацию

format='α' letter-value='traditional' задает «классическую» греческую нумерацию

format='а' letter-value='traditional' задает старославянскую нумерацию

8 Повторение

<!– Category: instruction ->

<xsl:for-each

select = node-set-expression >

<!– Content: ( xsl:sort *, template ) ->

Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату