ГО С Т ISO/IEC 24824-1— 2013
p ro c e s s in g -in s tru c tio n P ro c e s s in g ln s tru c tio n ,
u n e x p a n d e d -e n tity -re fe re n c e U n e x pande dEn tityR eference,
c h a ra c te r-c h u n k C h a ra cte rC h u n k ,
comment Comment } }
C.3.2 Значение типа
Element
кодируют, выполняя следующие действия (в указанном порядке).
П рим ечание — Кодирование этого типа всегда начинают со второго бита октета и заканчивают на чет
вертом или восьмом бите другого октета (который является последним битом указателя конца ’1111’, описанного в
С.3.8).
С.3.3 При наличии опционального компонента a ttr ib u te s к потоку битов добавляют бит ’1’ (на
личие), в противном случае добавляют бит ’0’ (отсутствие).
С .3.4 При наличии опционального компонента n a m e sp a ce -a ttrib u te s его кодируют, как описа
но в трех следующих подпунктах.
С.3.4.1 К потоку битов добавляют четыре бита ’1110’ (наличие) и два бита ’00’ (забивка).
С.3.4.2 Каждый элемент n a m e sp a ce -a ttrib u te s (по порядку) кодируют следующим образом: к
потоку битов добавляют шесть битов ’110011’ (идентификация) и N am espaceA ttribute кодируют, как
описано в С.12.
С.3.4.3 Добавляют четыре бита ’1111’ (указатель конца) и шесть битов ’000000’ (забивка).
П ри м ечани е — Данные биты не добавляют, если компонент nam espace-attributes отсутствует.
С.3.5 Значение компонента qualified-nam e кодируют, как описано в С .18.
С.3.6 При наличии опционального компонента a ttr ib u te s его кодируют, как описано в двух сле
дующих подпунктах.
С.3.6.1 Каждый элемент a ttr ib u te s (по порядку) кодируют следующим образом: к потоку битов
добавляют бит 0’ (идентификация) и A t t r ib u t e кодируют, как описано в С.4.
С.3.6.2 Добавляют четыре бита ’1111’ (указатель конца).
П ри м ечани е — Данные биты не добавляют, если компонент a ttrib u te s отсутствует.
С.3.7 Если компонент c h ild re n имеет один или несколько элементов, то каждый элемент коди
руют (по порядку), как описано в шести следующих подпунктах.
С.3.7.1 Кодирование каждого элемента обязательно начинают с первого бита октета. Однако по
следний добавленный бит может быть восьмым или четвертым битом октета. Если это был четвертый
бит октета, то кпотоку битов добавляют биты 0000’ (забивка), чтобы кодирование элемента начиналось с
первого бита следующего октета.
С.3.7.2 При наличии альтернативы elem ent к потоку битов добавляют бит 0’ (идентификация) и
elem ent кодируют, как описано в С.З.
С.3.7.3 При наличии альтернативы p ro c e s s in g -in s tru c tio n к потоку битов добавляют восемь
битов ’1110000Т (идентификация) и p ro c e s s in g -in s tru c tio n кодируют, как описано в С.5.
С.3.7.4 При наличии альтернативы u n e x p a n d e d -e n tity -re fe re n c e к потоку битов добавляют
шесть битов ’110010’ (идентификация) и u n e x p a n d e d -e n tity -re fe re n c e кодируют, как описано в С.6.
С.3.7.5 При наличии альтернативы c h a ra c te r-c h u n k к потоку битов добавляют два бита ’10’
(идентификация) и c h a ra c te r-c h u n k кодируют, как описано в С.7.
С.3.7.6 При наличии альтернативы comment к потоку битов добавляют восемь битов ’11100010’
(идентификация) и comment кодируют, как описано в С.8.
С.3.8 Добавляют четыре бита ’1111’ (указатель конца).
П рим ечание — Данные биты не добавляют, если компонент child re n не имеет элементов.
С.4 Кодирование типа A ttr ib u te
С.4.1 Тип A t t r ib u t e определен в 7.4 следующим образом:
AttributeSEQUENCE (
qualified-nam e QualifLedNam eOrlndex
- -
Категория ATTRIBUTE NAME — ,
n o rm a lize d -v a lu e N o n ld e n tify in g S trin g O rln d e x
—
Категория ATTRIBUTE VALUE —
)
66