ГО С Т ISO/IEC 24824-1— 2013
8.2 Таблица алф авитов с ограниченной областью распространения
8.2.1 Каждый документ быстрого инфо-набора имеет связанную с ним таблицу алфавитов с огра
ниченной областью распространения. Таблица алфавитов с ограниченной областью распространения
содержит алфавиты с ограниченной областью распространения, на которые можно ссылаться через
индекс словарной таблицы.
8.2.2 Каждая запись в таблице алфавитов с ограниченной областью распространения должна
быть упорядоченным набором разных символов по ISO/IEC 10646 размером от 2 до 220 символов.
При м ечани е — Алфавит с ограниченной областью распространения допускает компактное кодиро
вание любой строки символов, полностью состоящей из символов этого набора, путем присвоения по нараста
нию целых значений символам в наборе и использования этих целых значений для кодирования символов строки
(см. 7.17.6).
8.3 Таблица алгоритмов кодирования
8.3.1 Каждый документ быстрого инфо-набора имеет связанную с ним таблицу алгоритмов коди
рования. Таблица алгоритмов кодирования содержит определения алгоритмов кодирования, на кото
рые можно ссылаться через индекс словарной таблицы.
8.3.2 Каждая запись данной таблицы специфицирует кодирование строки символов с некоторыми
заданными характеристиками в строку октетов (см. 7.17.7).
П рим ечание — Заданные характеристики могут относиться к длине строки, появляющимся в строке
символам или к произвольно сложным образцам последовательности символов. В общем случае данный алго
ритм кодирования применяют только кограниченному и определенному подмножеству строк символов no ISO,ПЕС
10646.
8.3.3 Для алгоритмов кодирования установлены следующие ограничения:
a) алгоритм кодирования, если он не является встроенным, должен иметь связанный с ним URI.
по которому на него можно сослаться для добавления в таблицу:
b
) алгоритм кодирования должен точно определять, к каким видам строк символов он может быть
применен; это определение должно включать в себя алфавит с ограниченной областью распростра
нения (при его наличии), диапазон длин (при его наличии) и любые дополнительные ограничения на
длину и содержимое строк символов (например, образец);
c) для любой строки символов, ккоторой он может быть применен, алгоритм кодирования должен
предоставлять обратимое отображение из строки символов в строку октетов.
Примечания
1 Вышеизложенное подразумевает, что не может существовать строка символов S. для которой кодирова
ние из S в Е, с последующим декодированием из Е в S’, приведет кS’ # S, даже если различив между S’ и S незна
чительно (например, дополнительный SPACE). С другой стороны, не требуется, чтобы можно было
закодировать любую строку символов S. и также не требуется, чтобы кодировки были каноническими.
2 От приложения, создающего документ быстрого инфо-набора из находящихся в памяти данных, таких как
числа с плавающей точкой, не требуется создавать лексическое представление этих данных, а затем применять к
этому представлению алгоритм кодирования. Вместо этого приложение может создать строку октетов напрямую из
этих данных при условии, что полученная строка октетов идентична той. которая могла быть получена путем
применения этого алгоритма кодирования к строке символов, представляющей данные в памяти, и к этой строке
символов может быть применен данный алгоритм кодирования.
3 Алгоритмы кодирования (отличные от встроенных) могут быть определены в других стандартах или со
гласованы между создателем и обработчиками документа быстрого инфо-набора.
8.4 Динамические таблицы строк
8.4.1 Каждый документ быстрого инфо-набора имеет восемь связанных с ним динамических та
блиц строк. Каждая динамическая таблица строк содержит строки символов, на которые можно ссы
латься по индексам словарных таблиц.
8.4.2 В настоящем стандарте все строки символов, которые можно встретить в документе бы
строго инфо-набора, классифицированы по следующим восьми категориям, каждая из которых имеет
динамическую таблицу строк:
a)PREFIX: данную категорию составляют строки символов, которые являются свойством [prefix]
информационных элементов element, attribute или namespace.
26