ГО С Т ISO/IEC 24824-1-2013
компоненте, как описано в С.21. и затем каждый элемент кодируют (по порядку) следующим образом: к
потоку битов добавляют шесть битов 000000’ (забивка) и Nam eSurrogate кодируют, как описано в С .16.
С.2.6 При наличии опционального компонента n o ta tio n s его кодируют, как описано в двух сле
дующих пунктах.
С.2.6.1 Каждый элемент n o ta tio n s (по порядку) кодируют следующим образом, к потоку битов
добавляют шесть битов ’110000’ (идентификация) и N o ta tio n кодируют, как описано в С .11.
С.2.6.2 К потоку битов добавляют четыре бита ’1111’ (указатель конца) и четыре бита 0000’ (за
бивка).
П рим ечание — Данные биты не добавляют, если компонент notations отсутствует.
С.2.7 При наличии опционального компонента u n p a rs e d -e n titie s его кодируют так, как описа
но в двух следующих подпунктах.
С.2.7.1 Каждый элемент u n p a rs e d -e n titie s (по порядку) кодируют следующим образом: к
потоку битов добавляют семь битов ’1101000’ (идентификация) и U n p a rs e d E n tity кодируют, как опи
сано в С .10.
С.2.7.2 К потоку битов добавляют четыре бита ’1111’ (указатель конца) и четыре бита ’0000’ (за
бивка).
П ри м ечани е — Данные биты не добавляют, если компонент unparsed-enti tie s отсутствует.
С.2.8 При наличии опционального компонента ch a ra cte r-e n co d in g-sch e m e к потоку битов до
бавляют бит ’0’ (забивка) и N o n E m p tyO cte tS trin g кодируют, как описано в С .22.
С.2.9 При наличии опционального компонента stan dalon e его кодируют следующим образом: к
потоку битов добавляют семь битов 0000000’ (забивка). Если значением stan dalon e является TR U E ,
то к потоку битов добавляют бит ’1’. в противном случае — бит 0’.
С.2.10 При наличии опционального компонента v e rs io n его значение кодируют, как описано в
С .14.
С.2.11 Если компонент c h ild re n имеет один или несколько элементов, то каждый элемент коди
руют (по порядку), как описано в следующих пяти подпунктах.
С.2.11.1 Кодирование каждого элемента обязательно начинают с первого бита октета. Однако по
следний добавленный бит может быть восьмым или четвертым битом октета. Если это был четвертый
бит октета, то кпотоку битов добавляют биты ’0000’ (забивка), чтобы кодирование элемента начиналось с
первого бита следующего октета.
С.2.11.2 При наличии альтернативы elem ent к потоку битов добавляют бит ’0’ (идентификация) и
elem ent кодируют, как описано в С.З.
С.2.11.3 При наличии альтернативы p ro c e s s in g -in s tru c tio n к потоку битов добавляют во
семь битов ’11100001’ (идентификация) и p ro c e s s in g -in s tru c tio n кодируют, как описано в С.5.
С.2.11.4 При наличии альтернативы comment к потоку битов добавляют восемь битов ’11100010’
(идентификация) и comment кодируют, как описано в С.8.
С.2.11.5 При наличии альтернативы d o c u m e n t-typ e -d e c la ra tio n к потоку битов добавляют
шесть битов ’110001’ (идентификация) и d o c u ro e n t-typ e -d e cla ra tio n кодируют так, как описано в С.9.
С.2.12 Добавляют четыре бита ’1111’ (указатель конца).
П рим ечание — Данные биты не добавляют, если компонент childre n не имеет элементов.
С.З Кодирование типа Elem ent
С.3.1 Тип Elem ent определен в 7.3 следующим образом:
Elem ent ::=* SEQUENCE {
n a m e sp a ce -a ttrib u te sSEQUENCE (S IZ E
(1..MAX))
OF
N am espaceA ttribute OPTIONAL,
qualified-nam e QualifiedNam eOrIndex
--
Категория ELEMENT NAME
a ttr ib u te s SEQUENCE (S IZ E ( 1 . .M AX )) OF
A t t r ib u t e OPTIONAL,
c h ild re n SEQUENCE (S IZ E ( 0 . .M AX )) OF
CHOICE {
elem ent E lem ent,
65