ГО С Т ISO/IEC 24824-1-2013
Приложение С
(справочное)
Описание кодирования документа быстрого инфо-набора
С.1 Документ быстрого инфо-набора
С.1.1 В настоящем приложении неформально (но точно и полно) описаны кодирования, опреде
ленные в разделе 12 и приложении А. Для удобства реализации все определения типов ASN.1. приве
денные в нормативном тексте, скопированы в данном приложении.
С.1.2 Кодирования описаны в терминах действий, осуществляемых кодировщиком, в результате
которых биты добавляются к потоку битов. Действия, которые должны выполняться декодером, не опи
саны в явном виде в настоящем приложении, но могут быть выведены на основе описанных в настоя
щем приложении действий кодировщика.
С.1.3 Документ быстрого инфо-набора может начинаться либо с декларации XML (см. 12.3). за
которой следуют:
a) шестнадцать битов ’1110000000000000’ (идентификация).
b
) шестнадцать битов 000000000000000Г (номер версии).
c) бит ’0’ (забивка)
либо с этих же тридцати трех битов без предшествующей им декларации XML. Непосредственно
после тридцати трех битов следует кодирование абстрактного значения типа Document, как описано в
С.2. Это кодирование заканчивается на восьмом или четвертом бите октета в зависимости от содер
жимого документа быстрого инфо-набора. В последнем случае к потоку битов добавляют четыре бита
0000’ (забивка).
С.2
Кодирование типа
Document
С.2.1 Тип
Document
определен в 7.2 следующим образом:
DocumentSEQUENCE {
additional-data SEQUENCE (SIZE(1..one-meg)) OF
additional-datum SEQUENCE {
id URI,
data NonEmptyOctetString } OPTIONAL,
initial-vocabulary SEQUENCE {
external-vocabulary URI OPTIONAL,
restricted-alphabets SEQUENCE (SIZE(1..256)) OF
NonEmptyOctetString OPTIONAL,
encoding-algorithms SEQUENCE (SIZE(1..256)) OF
NonEmptyOctetString OPTIONAL,
prefixes SEQUENCE (SIZE(1..one-meg)) OF
NonEmptyOctetString OPTIONAL,
namespace-names SEQUENCE (SIZE(1..one-meg)) OF
NonEmptyOctetString OPTIONAL,
local-names SEQUENCE (SIZE(1..one-meg)) OF
NonEmptyOctetString OPTIONAL,
other-ncnames SEQUENCE (SIZE(1..one-meg)) OF
NonEmptyOctetString OPTIONAL,
other-uris SEQUENCE (SIZE(1..one-meg)) OF
NonEmptyOctetString OPTIONAL,
attribute-values SEQUENCE (SIZE(1..one-meg)) OF
EncodedCharacterString OPTIONAL,
content-character-chunks SEQUENCE (SIZE(1..one-meg)) OF
EncodedCharacterString OPTIONAL,
other-strings SEQUENCE (SIZE(1..one-meg)) OF
EncodedCharacterString OPTIONAL,
63