ГО С Т ISO/IEC 24824-1— 2013
element-name-surrogates SEQUENCE (SIZE{1..one-meg)) OF
NameSurrogate OPTIONAL,
attribute-name-surrogates SEQUENCE (SIZE(1..one-meg)) OF
NameSurrogate OPTIONAL }
CONSTRAINED BY {
--
Е сли п р и сутств уе т ком понент i n i t i a l
-
-- vocabulary,
то должен пр и сутство ва ть как
--
минимум один из его компонентов
— ))
OPTIONAL,
notations SEQUENCE (SIZE(1..MAX)) OF
Notation OPTIONAL,
unparsed-entities SEQUENCE (SIZE(1..MAX)) OF
UnparsedEntity OPTIONAL,
character-encoding-scheme NonEmptyOctetString OPTIONAL,
standalone BOOLEAN OPTIONAL,
version NonldentifyingStringOrlndex OPTIONAL
—
Категория OTHER STRING
— ,
children SEQUENCE (SIZE(0..MAX)) OF
CHOICE {
element Element,
processing-instruction Processinglnstruction,
comment Comment,
document-type-declaration DocumentTypeDeclaration )}
C.2.2 Значение типа
Document
кодируют, выполняя следующие действия (в указанном порядке).
П ри м ечани е — Кодирование данного типа всегда начинается со второго бита октета и заканчивается на
четвертом или восьмом битедругого октета (который является последним битом указателя конца’1111’. описанного
вС.2.12).
С.2.3 Для каждого из семи опциональных компонентов a d d itio n a l-d a ta ,i n i t i a l -v
o c a b u la ry , n o ta tio n s , u n p a rs e d -e n titie s , c h a ra cte r-e n co d in g -sch e m e , stan dalon e и v
e rs io n (в указанном порядке) при наличии компонента к потоку битов добавляют бит ’1’ (наличие), в
противном случае добавляют бит 0’ (отсутствие).
С.2.4 Если опциональный компонент a d d itio n a l-d a ta присутствует, то количество компонен
тов a d d itio n a l-d a tu rn кодируют, как описано в С.21. и каждый из компонентов a d d itio n a l-d a tu m
кодируют, как описано в двух следующих подпунктах.
С.2.4.1 Бит ’0’ (забивка) добавляют к потоку битов, и компонент id кодируют, как описано в С.22.
С.2.4.2 Бит ’0’ (забивка) добавляют кпотоку битов, и компонент d ata кодируют, как описано в С.22.
С.2.5 Если опциональный компонент in it ia l-v o c a b u la r y присутствует, то к потоку битов до
бавляют три бита 000’ (забивка) и этот компонент кодируют, как описано в пяти следующих пунктах.
С.2.5.1Для каждого из тринадцати опциональных компонентов компонента in it ia l-v o c a b u la r y
(в текстуальном порядке) при его наличии к потоку битов добавляют бит Т (наличие), в противном слу
чае добавляют бит ’0’ (отсутствие).
С.2.5.2 При наличии опционального компонента
external-vocabulary
компонента
initial-
vocabulary
к потоку битов добавляют бит 0’ (забивка) и компонент кодируют, как описано в С.22.
С.2.5.3 Для каждого
ИЗ
компонентов
restricted-alphabets, encoding-algorithms, pre
fixes, namespace-names, local-names, other-ncnames
и
other-uris
(в указанном порядке)
при его наличии кодируют число элементов
NonEmptyOctetString
в компоненте, как описано в С.21.
и затем каждый элемент кодируют (по порядку) следующим образом: к потоку битов добавляют бит ’0’
(забивка) и
NonEmptyOctetString
кодируют, как описано в С.22.
С.2.5.4 Для каждого
ИЗ
компонентов
attribute-values, content-character-chunks
и
oth
er-strings
(вуказанномпорядке)приегоналичиикодируютчислоэлементовЕпсос^сЬага^ег5гг1пд
в компоненте, как описано в С.21, и затем каждый элемент кодируют (по порядку) следующим образом:
к потоку битов добавляют два бита ’00’ (забивка) и
EncodedCharacterString
кодируют, как описано
в С .19.
С.2.5.5 Для каждого
ИЗ
компонентов
element-name-surrogates
и
attribute-пате-
surrogates
(в указанном порядке) при его наличии кодируют число элементов
NameSurrogate
в
64