Товары в корзине: 0 шт Оформить заказ
Стр. 1 

107 страниц

В стандарте определен тип АSN.1 (по ISO/IEC 8824-1), абстрактные значения которого представляют экземпляры инфо-набора W3C XML. Также определены двоичные кодирования для указанных значений с использованием Нотации контроля кодирования ASN.1 (по ISO/IEC 8825-3). В стандарте также определены методы: - минимизирующие размер документов быстрого инфо-набора; - максимизирующие скорость создания и обработки документов быстрого инфо-набора; - позволяющие (создателю документа быстрого инфо-набора) определять дополнительные обрабатываемые данные.

 Скачать PDF

Идентичен ISO/IEC 24824-1:2007

Оглавление

1 Область применения

2 Нормативные ссылки

     2.1 Идентичные рекомендации и международные стандарты

     2.2 Дополнительные ссылки

3 Термины и определения

     3.1 Термины ASN.1

     3.2 Термины ECN

     3.3 Термины по ISO/IEC 10646

     3.4 Дополнительные термины

4 Сокращения

5 Нотация

6 Принципы построения и использования словарных таблиц

7 Определения типов ASN.1

     7.1 Общие положения

     7.2 Тип Document

     7.3 Тип Element

     7.4 Тип Attribute

     7.5 Тип Processinglnstruction

     7.6 Тип UnexpandedEntityReference

     7.7 Тип CharacterChunk

     7.8 Тип Comment

     7.9 Тип DocumentTypeDeclaration

     7.10 Тип UnparsedEntity

     7.11 Тип Notation

     7.12 Тип NamespaceAttribute

     7.13 Тип IdentifyingStringOrlndex

     7.14 Тип NonldentifyingStringOrlndex

     7.15 Тип NameSurrogate

     7.16 Тип QualifiedNameOrlndex

     7.17 Тип EncodedCharacterString

8 Построение и обработка документа быстрого инфо-набора

     8.1 Концептуальный порядок компонентов абстрактного значения типа Document

     8.2 Таблица алфавитов с ограниченной областью распространения

     8.3 Таблица алгоритмов кодирования

     8.4 Динамические таблицы строк

     8.5 Динамические таблицы имен и идентификаторы имен

9 Встроенные алфавиты с ограниченной областью распространения

     9.1 «Цифровой» алфавит с ограниченной областью распространения

     9.2 Алфавит с ограниченной областью распространения «дата и время»

10 Встроенные алгоритмы кодирования

     10.1 Общие положения

     10.2 Алгоритм кодирования «hexadecimal»

     10.3 Алгоритм кодирования «base64»

     10.4 Алгоритм кодирования «short»

     10.5 Алгоритм кодирования «int»

     10.6 Алгоритм кодирования «long»

     10.7 Алгоритм кодирования «boolean»

     10.8 Алгоритм кодирования «float»

     10.9 Алгоритм кодирования «double»

     10.10 Алгоритм кодирования «uuid»

     10.11 Алгоритм кодирования «cdata»

11 Ограничения на поддерживаемые инфо-наборы XML и некоторые упрощения

12 Битовое кодирование типа Document

Приложение А (обязательное) Модуль ASN.1 и модули ECN для документов быстрого инфо-набора

Приложение В (обязательное) MIME-медиатип для документов быстрого инфо-набора

Приложение С (справочное) Описание кодирования документа быстрого инфо-набора

Приложение D (справочное) Примеры кодирования инфо-наборов XML как документов быстрого инфо-набора

Приложение Е (справочное) Присвоение значений идентификаторов объектов

Приложение ДА (справочное) Сведения о соответствии межгосударственных стандартов ссылочным международным стандартам (международным документам)

Библиография

Стр. 1
стр. 1
Стр. 2
стр. 2
Стр. 3
стр. 3
Стр. 4
стр. 4
Стр. 5
стр. 5
Стр. 6
стр. 6
Стр. 7
стр. 7
Стр. 8
стр. 8
Стр. 9
стр. 9
Стр. 10
стр. 10
Стр. 11
стр. 11
Стр. 12
стр. 12
Стр. 13
стр. 13
Стр. 14
стр. 14
Стр. 15
стр. 15
Стр. 16
стр. 16
Стр. 17
стр. 17
Стр. 18
стр. 18
Стр. 19
стр. 19
Стр. 20
стр. 20
Стр. 21
стр. 21
Стр. 22
стр. 22
Стр. 23
стр. 23
Стр. 24
стр. 24
Стр. 25
стр. 25
Стр. 26
стр. 26
Стр. 27
стр. 27
Стр. 28
стр. 28
Стр. 29
стр. 29
Стр. 30
стр. 30

МЕЖГОСУДАРСТВЕННЫЙ СОВЕТ ПО СТАНДАРТИЗАЦИИ, МЕТРОЛОГИИ И СЕРТИФИКАЦИИ

(МГС)

INTERSTATE COUNCIL FOR STANDARDIZATION, METROLOGY AND CERTIFICATION

(ISC)

МЕЖГОСУДАРСТВЕННЫЙ

СТАНДАРТ

ГОСТ ISO/IEC 24824-1 — 2013

Информационные технологии ОБЩИЕ ПРАВИЛА ПРИМЕНЕНИЯ ASN.1

Быстрые команды

Часть 1

(ISO/IEC 24824-1:2007, ЮТ)

Издание официальное

Москва Ста ндартин форм 2015

Предисловие

Цели, основные принципы и основной порядок проведения работ по межгосударственной стандартизации установлены ГОСТ 1.0-92 «Межгосударственная система стандартизации. Основные положения» и ГОСТ 1.2-2009 «Межгосударственная система стандартизации. Стандарты межгосударственные, правила и рекомендации по межгосударственной стандартизации. Правила разработки, принятия, применения, обновления и отмены»

Сведения о стандарте

1    ПОДГОТОВЛЕН Федеральным государственным унитарным предприятием Государственный научно-исследовательский и конструкторско-технологический институт «ТЕСТ» (ФГУП ГосНИИ «ТЕСТ»)

2    ВНЕСЕН Федеральным агентством по техническому регулированию и метрологии (Росстандарт)

3    ПРИНЯТ Межгосударственным советом по стандартизации, метрологии и сертификации (протокол от 14 ноября 2013 г. № 44)

За принятие проголосовали:

Краткое наименование страны по МК (ИСО 3166) 004—97

Код страны по МК (ИСО 3166)004—97

Сокращенное наименование национального органа по стандартизации

Армения

AM

Минэкономики Республики Армения

Киргизия

KG

Кыргызстандарт

Россия

RU

Росстандарт

4    Приказом Федерального агентства по техническому регулированию и метрологии от 11 июня 2014 г. № 565-ст межгосударственный стандарт ГОСТ ISO/IEC 24824-1—2013 введен в действие в качестве национального стандарта Российской Федерации с 1 сентября 2015 г.

5    Настоящий стандарт идентичен международному стандарту ISO/IEC 24824-1:2007 Information technology — Generic applications of ASN.1: Fast infoset. Part 1 (Информационные технологии. Общие правила применения ASN.1. Быстрые команды. Часть 1).

Перевод с английского языка (еп).

Сведения о соответствии межгосударственных стандартов ссылочным международным стандартам приведены в дополнительном приложении ДА.

Степень соответствия — идентичная (ЮТ)

6    ВВЕДЕН ВПЕРВЫЕ

Информация об изменениях к настоящему стандарту публикуется в ежегодном информационном указателе «Национальные стандарты», а текст изменений и поправок — в ежемесячном информационном указателе «Национальные стандарты». В случае пересмотра (замены) или отмены настоящего стандарта соответствующее уведомление будет опубликовано в ежемесячном информационном указателе «Национальные стандарты». Соответствующая информация, уведомление и тексты размещаются также в информационной системе общего пользования — на официальном сайте Федерального агентства по техническому регулированию и метрологии в сети Интернет

© Стандартинформ, 2015

В Российской Федерации настоящий стандарт не может быть полностью или частично воспроизведен, тиражирован и распространен в качестве официального издания без разрешения Федерального агентства по техническому регулированию и метрологии

ГОСТ ISO/IEC 24824-1—2013

6.8    Для некоторых категорий строк символов создатель документа быстрого инфо-набора имеет возможность выбора: добавлять или нет строку в словарную таблицу в зависимости от предполагаемого (или известного) числа появлений данной строки символов в инфо-наборе XML.

6.9    Точная форма и смысл записей словарных таблиц определены в разделе 8; в большинстве случаев записи представляют собой строки символов переменной длины, часто короткие, но потенциально длиной до 232 октет.

6.10    Соответствующий требованиям создатель документа быстрого инфо-набора должен осуществлять все добавления в словарные таблицы так, как определено в 7.13.7, 7.14.6, 7.14.7 и 7.16.7. Тем самым гарантируется, что число записей в каждой словарной таблице никогда не превысит 220.

Примечание — Запись словарной таблицы может быть идентична одной или нескольким другим записям словарной таблицы. Это позволяет эффективно создавать документы быстрого инфо-набора. Однако дубликаты записей снижают эффективность передачи. Дубликаты записей не влияют на обработчика документа быстрого инфо-набора.

6.11    Соответствующий требованиям обработчик документа быстрого инфо-набора должен осуществлять все добавления в словарные таблицы так, как определено в 7.13.8, 7.14.II1 и 7.16.8. Тем самым гарантируется, что указанные в 6.10 ограничения не будут нарушены.

7 Определения типов ASN.1

7.1    Общие положения

7.1.1    В настоящем стандарте определен набор типов ASN.1, поддерживающих представление инфо-набора XML. Корневым типом данного набора является тип Document.

7.1.2    Для содержимого инфо-наборов XML установлены некоторые ограничения и сделаны некоторые упрощения в представлении (см. раздел 11) для того, чтобы повысить удобство использования данной спецификации и эффективность создаваемых с ее помощью кодирований.

Примечание — Инфо-набор XML, не соответствующий установленным ограничениям, не может быть представлен в виде документа быстрого инфо-набора или корректно сформированного в отношении пространств

имен документа XML.

7.1.3    В настоящем стандарте для каждого вида информационных элементов, специфицированного в инфо-наборе W3C XML, приведено определение соответствующего типа ASN.1. Это определение типа всегда является последовательностью с компонентами, соответствующими свойствам информационного элемента.

7.1.4    Некоторые свойства информационных элементов не включены в определения типов ASN.1 (см. 11.4).

7.1.5    В некоторых случаях значение свойства, не включенного в определения типов ASN.1, может быть выведено из значений других свойств того же самого информационного элемента или других информационных элементов, включенных в определения типов ASN.1. В таких случаях опущение этого свойства упрощает представление без потерь информации. Однако существуют случаи, когда значение невкпюченного свойства не может быть выведено из значений других свойств. Во всех подобных случаях опущение такого свойства является упрощением, не ограничивающим полезность данной спецификации для большинства случаев ее практического применения.

7.1.6    В разделе 12 определено кодирование типа Document.

7.2 Тип Document

7.2.1 Тип Document определен следующим образом:

Document ::= SEQUENCE {

additional-data    SEQUENCE (SIZE(1..one-meg)) OF

additional-datum SEQUENCE {

id    URI,

data    NonEmptyOctetString    }    OPTIONAL,

initial-vocabulary    SEQUENCE {

1 Ссылка в ISO/IEC 24824-1:2007 дана ошибочно, пункт 7.14.11 в оригинале отсутствует.

7

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, element-name-surrogates    SEQUENCE    (SIZE(1..one-meg))    OF

NameSurrogate OPTIONAL, attribute-name-surrogates    SEQUENCE    (SIZE(1..one-meg))    OF

NameSurrogate OPTIONAL }

(CONSTRAINED BY {

-- Если присутствует компонент Initial-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 }}

где значением one-meg является:

one-meg INTEGER ::= 1048576    --    Два    в степени 20

Тип NonEmptyOctetString:

NonEmptyOctetString ::= OCTET STRING (SIZE(1..four-gig)) где значением four-gig является:

four-gig INTEGER ::= 4294967296 -- Два в степени 32 ТИП URI:

URI ::= NonEmptyOctetString

7.2.2    ТИПЫ EncodedCharacterString, NameSurrogate, Notation, UnparsedEntity, NonldentifyingStringOrlndex, Element, Processinglnstruction, Comment и DocumentTypeDeclaration определены в 7.17, 7.15, 7.11,7.10, 7.14, 7.3, 7.5, 7.8 и 7.9 соответственно.

7.2.3    Тип uri должен быть URI по IETF RFC 2396.

ГОСТ ISO/l ЕС 24824-1—2013

7.2.4    Компонент restricted-alphabets В initial-vocabulary (при его наличии) должен содержать одну или несколько строк символов, каждая их которых, в свою очередь, содержит символы алфавита с ограниченной областью распространения. Каждая строка символов должна содержать как минимум два символа, и все символы в строке символов должны быть различными.

Примечание — Использование алфавита с ограниченной областью распространения для оптимизации кодирования строк символов определено в 7.17.6.

7.2.5    Компонент encoding-algorithms В initial-vocabulary (при его наличии) должен содержать один или несколько URI, каждый из которых идентифицирует алгоритм кодирования.

Примечание — В настоящем стандарте определены встроенные алгоритмы кодирования (см. раздел 10) с определенными индексами словарных таблиц; определение дополнительных алгоритмов кодирования, связанных с ними индексов словарных таблиц и способов определения таких алгоритмов не входит в область применения настоящего стандарта. Информация, необходимая для определения алгоритма кодирования, специфицирована в 8.3.3.

7.2.6    Тип Document представляет информационный элемент document инфо-набора XML. Так как все остальные информационные элементы в инфо-наборе XML являются свойствами либо этого информационного элемента, либо элементов, являющихся дочерними элементами или потомками (произвольной глубины) данного, то каждый информационный элемент Document полностью представляет инфо-набор XML.

Примечание — Каждый информационный элемент Document без ссылки на внешний словарь (см. 7.2.13) также определяет окончательный словарь, который может быть использован как внешний словарь какого-либо другого документа быстрого инфо-набора.

7.2.7    Компонент additional-data (при его наличии) должен содержать один или несколько компонентов additional-datum для обеспечения возможности дополнительных методов обработки документа быстрого инфо-набора.

Примечания

1    Примером являются данные, которые предоставляют обработчику документа быстрого инфо-набора доступ к частям документа быстрого инфо-набора без необходимости обрабатывать весь документ. Форма таких данных не стандартизирована.

2    Количество компонентов additional-datum ограничено 220 компонентами (см. 7.2.1).

7.2.8    Каждый компонент additional-datum должен состоять из:

a)    компонента id (значение типа uri); URI должен ссылаться на спецификацию, определяющую форму и семантику компонента data.

Примечание — Форма additional-datum может быть задана как абстрактный тип в сочетании с правилом кодирования или иным пригодным способом;

b)    компонента data, являющегося строкой октетов, которая содержит дополнительные данные обработки.

7.2.9    Использование компонента additional-data подчиняется следующим условиям:

a)    компонент additional-daturn может быть проигнорирован обработчиком документа быстрого инфо-набора, если URI не распознан или дополнительная обработка рассматривается как не относящаяся к деятельности обработчика документа быстрого инфо-набора;

b)    обработчик документа быстрого инфо-набора, игнорирующий все компоненты additional-datum, тем не менее способен создать инфо-набор XML, эквивалентный инфо-набору XML, использованному для создания документа быстрого инфо-набора.

7.2.10    Могут присутствовать несколько компонентов additional-datum с одним и тем же URI, и они должны быть обработаны в соответствии со спецификацией, связанной с URI.

7.2.11    Компонент initial-vocabulary предоставляет данные, которые (совместно с некоторыми встроенными записями таблиц) полностью определяют первоначальное содержимое таблицы алфавитов с ограниченной областью распространения (см. 8.2), таблицы алгоритмов кодирования (см. 8.3), динамических таблиц строк (см. 8.4) и динамических таблиц имен (см. 8.5) данного документа быстрого инфо-набора (исходный словарь документа быстрого инфо-набора). Исходный словарь состоит из следующих данных:

а) упорядоченного набора алфавитов с ограниченной областью распространения (см. 8.2.2), содержащего как минимум встроенные алфавиты с ограниченной областью распространения (см. раздел 9);

9

b)    упорядоченного набора алгоритмов кодирования (см. 8.3.2), содержащего как минимум встроенные алгоритмы кодирования (см. раздел 10);

c)    восьми независимых упорядоченных наборов строк символов, соответствующих восьми категориям строк символов, определенным в настоящем стандарте (см. 8.4.2); каждый из наборов содержит ноль или более строк символов одной категории;

d)    двух независимых упорядоченных наборов идентификаторов имен (см. 8.5.2), соответствующих двум категориям квалифицированных имен, определенным в настоящем стандарте (см. 8.5.4); каждый из наборов содержит ноль или более идентификаторов имен одной категории.

Примечание — Исходный словарь не может быть полностью пустым, так как он всегда содержит (как минимум) встроенные алфавиты с ограниченной областью распространения и встроенные алгоритмы кодирования. Однако для документов быстрого инфо-набора не является необычной ситуация, когда исходный словарь содержит только эти данные, так как решение (создателя документа быстрого инфо-набора) о том, как использовать компонент initial-vocabulary, зависит от реализации, и в некоторых реализациях может быть выбрано динамическое добавление записей во все словарные таблицы (внутри тела документа быстрого инфо-набора).

7.2.12    Исходный словарь документа быстрого инфо-набора должен быть определен следующим образом:

a)    если компонент initial-vocabulary отсутствует, то исходный словарь должен состоять только из встроенных записей таблиц, определенных в 7.2.21,7.2.22 и в разделах 9 и 10;

b)    если компонент initial-vocabulary присутствует, а компонент external-vocabulary отсутствует, то исходный словарь должен состоять из встроенных записей таблиц, определенных в 7.2.21,

7.2.22 и в разделахЭ и 10, с дополнительными записями таблиц (при их наличии), определенными в 7.2.16;

c)    если компоненты initial-vocabulary и external-vocabulary присутствуют, то исходный словарь должен состоять из окончательного словаря, идентифицированного компонентом external-vocabulary, как определено в 7.2.13 и 7.2.14, с дополнительными записями таблиц (при их наличии), определенными в 7.2.16.

7.2.13    Компонент external-vocabulary идентифицирует окончательный словарь, используя один из определенных в 7.2.14 способов. Тип URI (см. 7.2.1) определяет окончательный словарь, который будет использован как внешний словарь одним из трех способов (см. 7.2.14).

Примечание — В настоящем стандарте не определены никакие внешние словари и URI, которые ссылаются на внешние словари. Такие внешние словари и URI могут быть определены как уполномоченные, имеющие возможность выделять URI, и могут быть согласованы в частном порядке или стандартизированы.

7.2.14    Внешний словарь может быть специфицирован одним из трех способов:

a)    как окончательный словарь документа быстрого инфо-набора, который не должен сам ссылаться на внешний словарь.

Примечания

1    Хранится локально окончательный словарь или только документ быстрого инфо-набора, а окончательный словарь создается динамически в ходе обработки — зависит от конкретной реализации.

2    Ограничение, состоящее в том, что окончательный словарь документа быстрого инфо-набора со ссылкой на внешний словарь не может быть использован в качестве внешнего словаря, установлено для того, чтобы упросить реализацию и избежать циклических ссылок;

b)    как корректно сформированный в отношении пространств имен документ XML, который концептуально обрабатывается следующим образом:

1)    должен быть определен инфо-набор XML данного корректно сформированного в отношении пространств имен документа XML;

2)    должен быть создан документ быстрого инфо-набора для этого инфо-набора XML, как определено в настоящем стандарте, но он не должен содержать компонент initial-vocabulary, компонент add-to-table типа NonldentifyingStringOrlndex (CM. 7.14) всегда должен быть равен TRUE, И ни в одной из таблиц строк не должны присутствовать кратные идентичные строки символов;

3)    окончательный словарь этого документа быстрого инфо-набора становится внешним словарем.

Примечание — Хранится локально окончательный словарь или только документ быстрого инфо-набора, а окончательный словарь создается динамически в ходе обработки — зависит от конкретной реализации;

c)    как набор словарных таблиц, специфицированных с использованием какого-либо другого, достаточно точного способа или текста, который должен включать в себя встроенные записи таблиц разделов 9 и 10 (с индексами словарных таблиц, определенными в указанных разделах).

ю

ГОСТ ISO/IEC 24824-1—2013

Примечания

1    Спецификация нотации для определения словарных таблиц не входит в область применения настоящего стандарта.

2    Требование включать встроенные записи словарных таблиц при использовании этого способа гарантирует, что все словарные таблицы содержат встроенные записи таблиц.

7.2.15    Для внешнего словаря, определенного в соответствии с 7.2.14, всем записям таблиц, содержащим строки и имена, за исключением таблиц PREFIX и NAMESPACE NAME, должны быть присвоены последовательные индексы, начиная с 1. Записям таблиц PREFIX и NAMESPACE NAME должны быть присвоены последовательные индексы, начиная с 2. Всем алфавитам с ограниченной областью распространения, за исключением встроенных, должны быть присвоены последовательные индексы, начиная с 16. Всем алгоритмам кодирования, за исключением встроенных, должны быть присвоены последовательные индексы, начиная с 32.

7.2.16    Каждый компонент типа NonEmptyOctetString, EncodedCharac ter String ИЛИ NameS-urrogate (при вГО НЭЛИЧИИ), КОТОРЫЙ присутствует В любом ИЗ оставшихся компонентов initial-vocabulary, должен быть добавлен по порядку (см. 8.1) в словарную таблицу.

Таблица 1 — Соответствие идентификаторов компонентов словарным таблицам

Идентификатор компонента

TnnASN.I записи

Словарная таблица (см. раздел 8)

res tricted-alphabets

NonEmptyOctetString

Таблица алфавитов с ограниченной областью распространения (см. 8.2)

encoding-algorithms

NonEmptyOctetString

Таблица алгоритмов кодирования (см. 8.3)

prefixes

NonEmptyOctetS tring

Таблица PREFIX (см. 8.4)

name sp ace - name s

NonEmptyOctetString

Таблица NAMESPACE NAME (см. 8.4)

local-names

NonEmptyOctetString

Таблица LOCAL NAME (см. 8.4)

other-ncnames

NonEmptyOctetString

Таблица OTHER NCNAME (см. 8.4)

other-uris

NonEmptyOctetString

Таблица OTHER URI (см. 8.4)

attribute-values

EncodedCharac terS tring

Таблица ATTRIBUTE VALUE (см. 8.4)

content-character-chunks

EncodedCharac terS tring

Таблица CONTENT CHARACTER CHUNK (см. 8.4)

о ther-s trings

EncodedCharacterString

Таблица OTHER STRING (см. 8.4)

element-name-

surrogates

NameSurrogate

Таблица ELEMENT NAME (см. 8.5)

attribute-name-

surrogates

NameSurrogate

Таблица ATTRIBUTE NAME (см. 8.5)

7.2.17    Значение типаNonEmptyOctetString должно содержать кодирование UTF-8 (см. ISO/IEC 10646, Приложение D) строки символов.

7.2.18    Таблицы алфавитов с ограниченной областью распространения и алгоритмов кодирования в исходном словаре должны содержать не более 256 записей. Все остальные таблицы должны содержать не более 220 записей.

Примечание — Ограничение на количество записей должно гарантировать общие верхние границы индексов таблиц. Данное ограничение действует и тогда, когда записи таблицы добавляют динамически (см. 7.13.7, 7.14.6, 7.14.7 и 7.16.7). Данные ограничения не препятствуют кодированию любого инфо-набора XML как документа быстрого инфо-набора.

7.2.19    Встроенные алфавиты с ограниченной областью распространения имеют индексы словарных таблиц в диапазоне от 1 до 2 (см. раздел 9). Индексы словарных таблиц алфавитов с ограниченной областью распространения В компоненте restricted-alphabets В initial-vocabulary (при вГО наличии) должны присваиваться следующим образом:

а) если внешний словарь отсутствует или внешний словарь содержит только встроенные алфавиты с ограниченной областью распространения, то индексы присваивают, начиная с 16;

11

Ь) в противном случае индексы присваивают, начиная с единицы плюс наибольший индекс алфавита с ограниченной областью распространения во внешнем словаре.

Примечание — Это означает, что индексы словарных таблиц от 3 до 15 не используют. Эти значения зарезервированы для последующих версий настоящего стандарта.

7.2.20    Встроенные алгоритмы кодирования имеют индексы словарных таблиц в диапазоне от 1 до 10 (см. раздел 10). Индексы словарных таблиц алгоритмов кодирования в компоненте encoding-algorithms в initial-vocabulary (при его наличии) должны присваиваться следующим образом:

a)    если внешний словарь отсутствует или внешний словарь содержит только встроенные алгоритмы кодирования, то индексы присваивают, начиная с 32;

b)    в противном случае индексы присваивают, начиная с единицы плюс наибольший индекс алгоритма кодирования во внешнем словаре.

Примечание — Это означает, что индексы словарных таблиц от 11 до 31 не используют. Эти значения зарезервированы для последующих версий настоящего стандарта.

7.2.21    Таблица PREFIX должна содержать встроенную запись префикса «xml», которой присвоен индекс 1. Индексы словарных таблиц префиксов в компоненте prefixes в initial-vocabulary (при его наличии) должны присваиваться следующим образом:

a)    если внешний словарь отсутствует или внешний словарь содержит только встроенную запись префикса, то индексы присваивают, начиная с 2;

b)    в противном случае индексы присваивают, начиная с единицы плюс наибольший индекс префикса во внешнем словаре.

7.2.22    Таблица NAMESPACE NAME должна содержать следующую встроенную запись имени пространства имен:

http://www.w3.Org/XML/1998/namespace

Данной записи должен быть присвоен индекс 1.

7.2.23    Индексы словарных таблиц имен пространств имен в компоненте namespace-names в initial-vocabulary (при его наличии) должны присваиваться следующим образом:

a)    если внешний словарь отсутствует или внешний словарь содержит только встроенную запись имени пространства имен, то индексы присваивают, начиная с 2;

b)    в противном случае индексы присваивают, начиная с единицы плюс наибольший индекс имени пространства имен во внешнем словаре.

7.2.24    Компонент notations представляет свойство [notations] информационного элемента document. Типом данного компонента является sequence-of (последовательность-из), хотя свойство [notations] определено в инфо-наборе W3C XML как неупорядоченный набор (информационных элементов notation).

Примечание — Здесь и далее используют тип sequence-of (последовательность-из), а не set-of (набор-из), так как последний не удовлетворяет потребности в строгом упорядочении всех компонентов документа быстрого инфо-набора (см. 8.1).

7.2.25    Компонент unparsed-entities представляет свойство [unparsed entities] информационного элемента document. Типом данного компонента является sequence-of (последовательность-из), хотя свойство [unparsed entities] и определено в инфо-наборе W3C XML как неупорядоченный набор (информационных элементов unparsed entity).

7.2.26    Компонент character-encoding-scheme представляет свойство [character encoding scheme] информационного элемента document. Типом данного компонента является NonEmptyOctetstring, и значение должно содержать кодирование UTF-8 (см. ISO/IEC 10646, Приложение D) свойства [character encoding scheme]. Отсутствие этого компонента в абстрактном значении типа Document указывает на то, что свойство [character encoding scheme] имеет значение «UTF-8».

Примечание — Поддержка свойства [character encoding scheme] позволяет преобразовывать документы XML в документы быстрого инфо-набора и обратно без изменения схемы кодирования символов. Создатель документа быстрого инфо-набора из документа XML может закодировать свойство [character encoding scheme], полученное из декларации кодирования документа XML (см. W3C XML 1.0, п. 4.3.1 и W3C XML 1.1, п. 4.3.1). Обработчик документа быстрого инфо-набора может использовать компонент character-encoding-scheme (при его наличии), если хочет воспроизвести оригинальное кодирование.

7.2.27    Компонент standalone представляет свойство [standalone] информационного элемента document. Абстрактное значение TRUE представляет значение данного свойства yes, а абстрактное

12

ГОСТ ISO/l ЕС 24824-1—2013

значение FALSE—значение по. Отсутствие данного компонента в абстрактном значении TnnaDocument указывает на то, что у свойства [standalone] нет значения.

7.2.28    Компонент version представляет свойство [version] информационного элемента document. Типом данного компонента является NonidentifyingStringOrindex (см. 7.14), представляющий в данном случае строку символов категории OTHER STRING. Отсутствие данного компонента в абстрактном значении типа Document указывает на то, что у свойства [version] нет значения.

7.2.29    Компонент children представляет свойство [children] информационного элемента document. Ровно один элемент последовательности-из (sequence-of) (в любой позиции) должен использовать альтернативу element выборочного типа, и не более чем один элемент (в любой позиции) должен использовать альтернативу document-type-declaration. Все другие элементы (при их наличии) ДОЛЖНЫ использовать альтернативу processing-instruction ИЛИ comment.

7.2.30    Свойство [document element] информационного элемента document не включено в тип Document. Значение данного свойства всегда равно только одному информационному элементу element, который является членом свойства [children] информационного элемента document.

7.2.31    Свойство [base URI] информационного элемента document не включено в тип Document и не поддерживается в настоящем стандарте.

7.2.32    Свойство [all declarations processed] информационного элемента document не включено в тип Document и принимается имеющим значение true (см. 11.3).

7.3 Тип Element

7.3.1 Тип Element определен следующим образом:

Element ::= SEQUENCE {

namespace-attributes    SEQUENCE (SIZE(1..MAX)) OF

NamespaceAttribute OPTIONAL, qualified-name    QualifiedNameOrlndex

-- Категория ELEMENT NAME —, attributes    SEQUENCE    (SIZE(1..MAX)) OF

Attribute OPTIONAL, children    SEQUENCE    (SIZE(0..MAX)) OF

CHOICE {

Element,

Processinglnstruction, UnexpandedEntityReference, CharacterChunk,


element

processing-instruction

unexpanded-entity-reference

character-chunk


comment    Comment    }}

7.3.2    Типы NameSpaceAttribute, QualifiedNameOrlndex, Attribute, Processinglnstruction, UnexpandedEnti tyReference, CharacterChunk И Comment Определены B 7.12, 7.16, 7.4, 7.5, 7.6, 7.7 и 7.8 соответственно.

7.3.3    Тип Element представляет информационный элемент element инфо-набора XML.

7.3.4    Компонент namespace-attributes представляет свойство [namespace attributes] информационного элемента element. Типом данного компонента является sequence-of (последовательность-из), хотя свойство [namespace attributes] определено в инфо-наборе W3C XML как неупорядоченный набор (информационных элементов attribute).

Примечание — Типом данного компонента является sequence-of (последовательность-из) NamespaceAttribute (а не Attribute), хотя свойство [namespace attributes] информационного элемента element определено в инфо-наборе W3C XML как набор информационных элементов attribute. В ограниченном инфо-наборе XML (см. 11.3) свойства информационного элемента namespace могут быть определены из свойств информационного элемента attribute, представляющего атрибут пространства имен. Обратное верно только частично, но это ограничение считается приемлемым для предполагаемого использования настоящего стандарта (см. также примечание в 7.2.24).

7.3.5    Компонент qualified-name представляет квалифицированное имя (см. 3.4.11) информационного элемента element (т. е. набор, состоящий из свойств [prefix], [namespace name] и [local name] этого информационного элемента). Типом данного компонента является QualifiedNameOrlndex (см. 7.16), представляющий в данном случае квалифицированное имя категории ELEMENT NAME.

7.3.6    Компонент attributes представляет свойство [attributes] информационного элемента element. Типом данного компонента является sequence-of (последовательность-из), хотя свойство

13

[attributes] определено в инфо-наборе W3C XML как неупорядоченный набор (информационных элементов attribute).

7.3.7    Компонент children представляет свойство [children] информационного элемента element. Когда два или более соседних дочерних элемента являются информационными элементами character, для представления этих соседних информационных элементов character может быть использован ОДИН Элемент CharacterChunk.

Примечание — Если среди дочерних элементов информационного элемента element имеется последовательность из N соседних символов, то допустима любая группировка этих N-символов в серии последовательных блоков символов. Однако предполагается, что для создания эффективных кодировок создатель документа быстрого инфо-набора будет делать каждый из блоков символов настолько большим, насколько это будет возможно.

7.3.8    Свойство [in-scope namespaces] информационного элемента element не включено в тип

Element.

Примечание — В ограниченном инфо-наборе XML (см. 11.3) свойство [in-scope namespaces] информационного элемента element может быть определено из свойства [namespace attributes] информационного элемента element и свойства [namespace attributes] всех информационных элементов element (при их наличии), содержащих (прямо или косвенно) данный информационный элемент element.

7.3.9    Свойство [base URI] информационного элемента element не включено в тип Element и не поддерживается в настоящем стандарте.

7.3.10    Свойство [parent] информационного элемента element не включено в тип Element. Значением данного свойства для любого заданного информационного элемента element является информационный элемент document или element, содержащий заданный информационный элемент в качестве члена своего свойства [children],

7.4 Тип Attribute

7.4.1    Тип Attribute определен следующим образом:

Attribute ::= SEQUENCE {

qualified-name QualifiedNameOrlndex

-- Категория ATTRIBUTE NAME normali zed-value    NonldentifyingStringOrlndex

-- Категория ATTRIBUTE VALUE — }

7.4.2    Типы QualifiedNameOrlndex И NonldentifyingStringOrlndex определены В 7.16 И 7.14 соответственно.

7.4.3    Тип Attribute представляет информационный элемент attribute инфо-набора XML.

7.4.4    Компонент qualified-name представляет квалифицированное имя (см. 3.4.11) информационного элемента attribute (т. е. набор, состоящий из свойств [prefix], [namespace name] и [local name] этого информационного элемента). Типом данного компонента является QualifiedNameOrlndex (см. 7.16), представляющий в данном случае квалифицированное имя категории ATTRIBUTE NAME.

7.4.5    Компонент normali zed-value представляет свойство [normalized value] информационного элемента attribute. Типом данного компонента является NonldentifyingStringOrlndex (см. 7.14), представляющий в данном случае квалифицированное имя категории ATTRIBUTE VALUE.

7.4.6    Длина строки символов, присвоенной normalized-value, не может превышать 232.

Примечание — Данное ограничение обусловлено определением ASN. 1, которое разработано для оптимизации кодирований и простоты реализации (см. также 11.3, перечисление]).

7.4.7    Свойство [specified] информационного элемента attribute не включено в тип Attribute.

7.4.8    Свойство [attribute type] информационного элемента attribute не включено в тип Attribute.

7.4.9    Свойство [references] информационного элемента attribute не включено в тип Attribute.

Примечание — В ограниченном инфо-наборе XML (см. 11.3) свойство [references] информационного элемента attribute может быть определено из свойства [normalized value] информационного элемента attribute вместе со свойствами других информационных элементов в инфо-наборе XML.

7.4.10    Свойство [owner element] информационного элемента attribute не включено в тип Attribute. Значение этого свойства для любого заданного информационного элемента attribute является информационным элементом element, содержащим заданный информационный элемент в качестве члена свойства [attributes].

ГОСТ ISO/l ЕС 24824-1—2013

7.5 Тип Processinglnstruction

7.5.1    Тип Processinglnstruction определен следующим образом:

Processinglnstruction ::= SEQUENCE {

target IdentifyingStringOrlndex

—    Категория OTHER NCNAME —, content NonldentifyingStringOrlndex

—    Категория OTHER STRING — }

7.5.2    Типы IdentifyingStringOrlndex И NonldentifyingStringOrlndex определены В 7.13 и 7.14 соответственно.

7.5.3    Тип Processinglnstruction представляет информационный элемент processing instruction инфо-набора XML.

7.5.4    Компонент target представляет свойство [target] информационного элемента processing instruction. Типом данного компонента является IdentifyingStringOrlndex (см. 7.13), представляющий в данном случае строку символов категории OTHER NCNAME.

7.5.5    Компонент content представляет свойство [content] информационного элемента processing instruction. Типом данного компонента является NonldentifyingStringOrlndex (см. 7.14), представляющий в данном случае строку символов категории OTHER STRING.

7.5.6    Длина строки символов, присвоенной content, не может превышать 232.

Примечание — Данное ограничение обусловлено определением ASN.1, которое разработано для оптимизации кодирований и простоты реализации (см. также 11.3, перечисление)).

7.5.7    Свойство [notation] информационного элемента processing instruction не включено в тип Processinglnstruction.

Примечание — В ограниченном инфо-наборе XML (см. 11.3) свойство [notation] информационного элемента processing instruction может быть определено из свойства [target] информационного элемента processing instruction и свойства [notations] информационного элемента document.

7.5.8    Свойство [parent] информационного элемента processing instruction не включено в тип Processinglnstruction. Значением этого свойства для любого заданного информационного элемента processing instruction является информационный элемент document, element или document type definition, содержащий заданный информационный элемент в качестве члена свойства [children].

7.6 Тип UnexpandedEntityReference

7.6.1    Тип UnexpandedEntityReference определен следующим образом:

UnexpandedEntityReference ::= SEQUENCE {

name    IdentifyingStringOrlndex

— Категория OTHER NCNAME —, system-identifier    IdentifyingStringOrlndex    OPTIONAL

-- Категория    OTHER URI

public-identifier    IdentifyingStringOrlndex    OPTIONAL

-- Категория    OTHER URI -- }

7.6.2    Тип IdentifyingStringOrlndex определен В 7.13.

7.6.3    Тип UnexpandedEntityReference представляет информационный элемент unexpanded entity reference инфо-набора XML.

7.6.4    Компонент name представляет свойство [name] информационного элемента unexpanded entity reference. Типом данного компонента является IdentifyingStringOrlndex (см. 7.13), представляющий в данном случае строку символов категории OTHER NCNAME.

7.6.5    Компонент system-identifier представляет свойство [system identifier] информационного элемента unexpanded entity reference. Типом данного компонента является IdentifyingStringOrlndex (см 7.13), представляющий в данном случае строку символов категории OTHER URI. Отсутствие данного компонента в абстрактном значении типа UnexpandedEntityReference указывает на то, что свойство [system identifier] не имеет значения.

7.6.6    Компонент public-identifier представляет свойство [public identifier] информационного элемента unexpanded entity reference. Типом данного компонента является IdentifyingStringOrlndex (см. 7.13), представляющий в данном случае строку символов категории OTHER URI.

15

Отсутствие данного компонента В абстрактном значении типа UnexpandedEntityReference указывает на то, что свойство [public identifier] не имеет значения.

7.6.7    Свойство [declaration base URI] информационного элемента unexpanded entity reference не включено в тип UnexpandedEntityReference и не поддерживается в настоящем стандарте.

7.6.8    Свойство [parent] информационного элемента unexpanded entity reference не включено в тип UnexpandedEntityReference. Значением данного свойства для любого заданного информационного элемента unexpanded entity reference является информационный элемент element, содержащий заданный информационный элемент в качестве члена свойства [children].

7.7 Тип CharacterChunk

7.7.1    Тип CharacterChunk определен следующим образом:

CharacterChunk ::= SEQUENCE {

character-codes NonldentifyingStringOrlndex

— Категория CONTENT CHARACTER CHUNK — }

7.7.2    Тип NonldentifyingStringOrlndex определен в 7.14.

7.7.3    Тип CharacterChunk соответствует информационному элементу character, но представляет ряд соседних информационных элементов character (членов свойства [children] родительского информационного элемента element), а не единственный информационный элемент character.

7.7.4    Число информационных элементов character, представленных значением типа CharacterChunk, не ДОЛЖНО быть равным нулю.

7.7.5    Компонент character-codes представляет свойство [charactercode] информационного(ых) ЭЛемента(ОВ) CharaCterB блоке. ТИПОМ данного компонента является NonldentifyingStringOrlndex (см. 7.14), представляющий в данном случае строку символов категории CONTENT CHARACTER CHUNK.

7.7.6    Длина строки символов, присвоенной character-codes, не может превышать 232.

Примечание — Данное ограничение обусловлено определением ASN. 1, которое разработано для оптимизации кодирований и простоты реализации. Данное ограничение не исключает кодирования информационного элемента element, содержащего более 232 информационных элементов character, так как можно использовать несколько блоков.

7.7.7    Свойство [element content whitespace] информационного(ых) элемента(ов) character не включено В ТИП CharacterChunk.

7.7.8    Свойство [parent] информационного(ых) элемента(ов) character не включено в тип CharacterChunk. Значением данного свойства для любого заданного информационного элемента character является информационный элемент element, содержащий заданный информационный элемент в качестве члена свойства [children].

7.8    Тип Comment

7.8.1    Тип Comment определен следующим образом:

Comment ::= SEQUENCE {

content    NonldentifyingStringOrlndex

— Категория OTHER STRING —}

7.8.2    Тип NonldentifyingStringOrlndex определен В 7.14.

7.8.3    Тип Comment представляет информационный элемент comment инфо-набора XML.

7.8.4    Компонент content представляет свойство [content] информационного элемента comment. Типом данного компонента является NonldentifyingStringOrlndex (СМ. 7.14), представляющий В данном случае строку символов категории OTHER STRING.

7.8.5    Длина строки символов, присвоенной content, не может превышать 232.

Примечание — Данное ограничение обусловлено определением ASN. 1, которое разработано для оптимизации кодирований и простоты реализации (см. также 11.3, перечисление)).

7.8.6    Свойство [parent] информационного элемента comment не включено в тип Comment. Значением этого свойства для любого заданного информационного элемента comment является информационный элемент document или element, содержащий заданный информационный элемент в качестве члена свойства [children].

ГОСТ ISO/l ЕС 24824-1—2013

Содержание

1    Область применения.................................................................1

2    Нормативные ссылки.................................................................2

2.1    Идентичные рекомендации и международные стандарты...............................2

2.2    Дополнительные ссылки..........................................................3

3    Термины и определения..............................................................4

3.1    Термины ASN.1..................................................................4

3.2    Термины ECN...................................................................4

3.3    Термины по ISO/IEC 10646 ........................................................4

3.4    Дополнительные термины.........................................................4

4    Сокращения........................................................................5

5    Нотация............................................................................6

6    Принципы построения и использования словарных таблиц.................................6

7    Определения типов ASN.1 ............................................................7

7.1    Общие положения................................................................7

7.2    Тип Document...................................................................7

7.3    Тип Element....................................................................13

7.4    Тип Attribute..................................................................14

7.5    Тип Processinglnstruction.....................................................15

7.6    ТИП UnexpandedEntityReference.................................................15

7.7    Тип CharacterChunk............................................................16

7.8    Тип Comment....................................................................16

7.9    Тип DocumentTypeDeclaration................... 17

7.10    Тип UnparsedEntity...........................................................17

7.11    Тип Notation ......................... 18

7.12    Тип NamespaceAttribute.......................................................18

7.13    Тип IdentifyingStringOrlndex.................................................19

7.14    ТипNonldentifyingStringOrlndex.............................................20

7.15    Тип NameSurrogate.............................................................21

7.16    Тип QualifiedNameOrlndex......................................................22

7.17    Тип EncodedCharacterString...................................................23

8    Построение и обработка документа быстрого инфо-набора.................................25

8.1    Концептуальный порядок компонентов абстрактного значения типа Document..............25

8.2    Таблица алфавитов с ограниченной областью распространения.........................26

8.3    Таблица алгоритмов кодирования...................................................26

8.4    Динамические таблицы строк......................................................26

8.5    Динамические таблицы имен и идентификаторы имен..................................27

9    Встроенные алфавиты с ограниченной областью распространения..........................28

9.1    «Цифровой» алфавит с ограниченной областью распространения.......................28

9.2    Алфавит с ограниченной областью распространения «дата и время».....................28

10    Встроенные алгоритмы кодирования...................................................28

10.1    Общие положения..............................................................28

10.2    Алгоритм кодирования «hexadecimal»..............................................28

10.3    Алгоритм кодирования «base64»..................................................29

10.4    Алгоритм кодирования «short»....................................................29

10.5    Алгоритм кодирования «int».......................................................29

10.6    Алгоритм кодирования «long».....................................................30

10.7    Алгоритм кодирования «boolean»..................................................30

10.8    Алгоритм кодирования «float».....................................................30

10.9    Алгоритм кодирования «double»...................................................31

10.10    Алгоритм кодирования «uuid»....................................................31

10.11    Алгоритм кодирования «cdata»...................................................32

11    Ограничения на поддерживаемые инфо-наборы XML и некоторые упрощения................32

ГОСТ ISO/l ЕС 24824-1—2013

7.9    Тип DocumentTypeDeclaration

7.9.1    Тип DocumentTypeDeclaration определен следующим образом:

DocumentTypeDeclaration ::= SEQUENCE {

system-identifier    IdentifyingStringOrlndex    OPTIONAL

-- Категория    OTHER URI ,

public-identifier    IdentifyingStringOrlndex    OPTIONAL

-- Категория    OTHER URI

children    SEQUENCE (SIZE(0..MAX)) OF

Processinglnstruction }

7.9.2    Тип IdentifyingStringOrlndex определен В 7.13.

7.9.3    Тип DocumentTypeDeclaration представляет информационный элемент document type declaration инфо-набора XML.

7.9.4    Компонент system-identifier представляет свойство [system identifier] информационного элемента document type declaration. Типом данного компонентаявляется IdentifyingStringOrlndex (см. 7.13), представляющий в данном случае строку символов категории OTHER URI. Отсутствие данного компонента в абстрактном значении типа DocumentTypeDeclaration указывает на то, что свойство [system identifier] не имеет значения.

7.9.5    Компонент public-identifier представляет свойство [public identifier] информационного элемента document type declaration. Типом данного компонента является IdentifyingStringOrlndex (см. 7.13), представляющий в данном случае строку символов категории OTHER URI. Отсутствие данного компонента в абстрактном значении типа DocumentTypeDeclaration указывает на то, что свойство [public identifier] не имеет значения.

7.9.6    Компонент children представляет свойство [children] информационного элемента document type declaration.

7.9.7    Свойство [parent] информационного элемента document type declaration не включено в тип DocumentTypeDeclaration. Значением этого свойства для любого заданного информационного элемента document type declaration является информационный элемент document, содержащий заданный информационный элемент в качестве члена свойства [children].

7.10    Тип UnparsedEntity

7.10.1    Тип UnparsedEntity определен следующим образом:

UnparsedEntity ::= SEQUENCE {

name    IdentifyingStringOrlndex

-    Категория OTHER NCNAME

system-identifier    IdentifyingStringOrlndex

-- Категория OTHER URI public-identifier    IdentifyingStringOrlndex OPTIONAL

-- Категория OTHER URI notation-name    IdentifyingStringOrlndex

-    Категория OTHER NCNAME - }

7.10.2    Тип IdentifyingStringOrlndex определен В 7.13.

7.10.3    Тип UnparsedEntity представляет информационный элемент unparsed entity инфо-на-бора XML.

7.10.4    Компонент name представляет свойство [name] информационного элемента unparsed entity. Типом данного компонента является IdentifyingStringOrlndex (см. 7.13), представляющий в данном случае строку символов категории OTHER NCNAME.

7.10.5    Компонент system-identifier представляет свойство [system identifier] информационного элемента unparsed entity. Типом данного компонента является IdentifyingStringOrlndex (см. 7.13), представляющий в данном случае строку символов категории OTHER URI.

7.10.6    Компонент public-identifier представляет свойство [public identifier] информационного элемента unparsed entity. Типом данного компонента является IdentifyingStringOrlndex (см. 7.13), представляющий в данном случае строку символов категории OTHER URI. Отсутствие данного компонента в абстрактном значении типа UnparsedEntity указывает на то, что свойство [public identifier] не имеет значения.

17

ГОСТ ISO/IEC 24824-1—2013

12 Битовое кодирование типа Document..................................................33

Приложение А (обязательное) Модуль ASN.1 и модули ECN для документов

быстрого инфо-набора....................................................35

Приложение В (обязательное) MIME-медиатип для документов быстрого инфо-набора............61

Приложение С (справочное) Описание кодирования документа быстрого инфо-набора............63

Приложение D (справочное) Примеры кодирования инфо-наборов XML как документов

быстрого инфо-набора....................................................77

Приложение Е (справочное) Присвоение значений идентификаторов объектов.................100

Приложение ДА (справочное) Сведения о соответствии межгосударственных стандартов

ссылочным международным стандартам (международным документам).........101

Библиография.......................................................................102 1

МЕЖГОСУДАРСТВЕННЫЙ СТАНДАРТ

Информационные технологии ОБЩИЕ ПРАВИЛА ПРИМЕНЕНИЯ ASN.1 Быстрые команды Ч а с т ь 1

Information technologies. Generic applications of ASN.1. Fast infoset. Part 1

Дата введения — 2015—09—01

1 Область применения

В настоящем стандарте определен тип ASN.1 (по ISO/IEC 8824-1), абстрактные значения которого представляют экземпляры инфо-набора W3C XML. Также определены двоичные кодирования для указанных значений с использованием нотации контроля кодирования ASN.1 (по ISO/IEC 8825-3).

Примечание — Данные кодирования называют документами быстрого инфо-набора.

В настоящем стандарте также определены методы:

-    минимизирующие размер документов быстрого инфо-набора;

-    максимизирующие скорость создания и обработки документов быстрого инфо-набора;

-    позволяющие (создателю документа быстрого инфо-набора) определять дополнительные обрабатываемые данные.

Первые два метода основываются на использовании словарных таблиц. Набор словарных таблиц и характер их записей полностью определены в настоящем стандарте, но их представление в памяти компьютера не входит в область применения настоящего стандарта.

Обеспечение передачи или хранения, а также формальная нотация для отображения или определения словарных таблиц, которые должны использоваться в качестве внешних словарей, также не входят в область применения настоящего стандарта.

Третий метод заключается в предоставлении дополнительных обрабатываемых данных и URI, которые идентифицируют форму и семантику этих данных. Спецификация конкретных форм дополнительных обрабатываемых данных и их использование не входят в область применения настоящего стандарта.

URI могут быть использованы для идентификации окончательных словарей, которые, в свою очередь, могут быть использованы как часть какого-либо нового исходного словаря или составлять его целиком, однако присвоение конкретных URI конкретным окончательным словарям не входит в область применения настоящего стандарта.

В настоящем стандарте определены встроенные алфавиты с ограниченной областью распространения, описаны добавление к словарным таблицам дополнительных алфавитов с ограниченной областью распространения путем нумерации и использование этих словарных таблиц для эффективного кодирования строк символов.

В настоящем стандарте определены встроенные алгоритмы кодирования для оптимального кодирования определенных строк символов и описано добавление к словарным таблицам дополнительных алгоритмов кодирования, идентифицированных URI, но определение этих дополнительных алгоритмов и связанных с ними URI не входит в область применения настоящего стандарта.

Кроме того, в настоящем стандарте определен медиатип многоцелевых расширений интернет-почты (MIME), который идентифицирует документ быстрого инфо-набора.

2 Нормативные ссылки

Для применения настоящего стандарта необходимы следующие ссылочные документы. Для датированных ссылок применяют только указанное издание ссылочного документа, для недатированных ссылок применяют последнее издание ссылочного документа (включая все его изменения).

2.1 Идентичные рекомендации и международные стандарты

-    ITU-T Recommendation Х.667 (2004) | ISO/IEC 9834-8:20051 Information technology — Open Systems Interconnection — Procedures for the operation of OSI Registration Authorities: Generation and registration of Universally Unique Identifiers (UUIDs) and their use as ASN.1 Object Identifier components (Рекомендация МСЭ-Т X.667 (2004) | ISO/IEC 9834-8:2005 Информационные технологии. Взаимосвязь открытых систем. Процедуры для работы регистрационных органов в системе OSI. Часть 8. Создание и регистрация универсально уникальных идентификаторов и их использование в качестве компонентов идентификаторов объектов ASN.1)

-    ITU-T Recommendation Х.680 (2002) | ISO/IEC 8824-1:20022 3 Information technology —Abstract Syntax Notation One (ASN.1): Specification of basic notation (Рекомендация МСЭ-Т Х.680 (2002) | ISO/ IEC 8824-1:2002 Информационные технологии. Нотация абстрактного синтаксиса версии 1 (ASN.1). Часть 1. Спецификация базовой нотации)

-    ITU-T Recommendation Х.681 (2002) | ISO/IEC 8824-2:20024 Information technology — Abstract Syntax Notation One (ASN.1): Information object specification (Рекомендация МСЭ-Т Х.681 (2002) | ISO/ IEC 8824-2:2002 Информационные технологии. Нотация абстрактного синтаксиса версии 1 (ASN.1). Часть 2. Спецификация информационных объектов) |

-    ITU-T Recommendation Х.682 (2002) | ISO/IEC 8824-3:20025 Information technology — Abstract Syntax Notation One (ASN.1): Constraint specification (Рекомендация МСЭ-Т Х.682 (2002) | ISO/IEC

8824- 3:2002 Информационные технологии. Нотация абстрактного синтаксиса версии 1 (ASN.1). Часть 3. Спецификация ограничений) |

-    ITU-T Recommendation Х.683 (2002) | ISO/IEC 8824-4:20026 Information technology—Abstract Syntax Notation One (ASN.1): Parameterization of ASN.1 specifications (Рекомендация МСЭ-Т Х.683 (2002) | ISO/IEC 8824-4:2002 Информационные технологии. Нотация абстрактного синтаксиса версии 1 (ASN.1). Часть 4. Спецификация для параметризации ASN.1) |

-    ITU-T Recommendation Х.690 (2002) | ISO/IEC 8825-1:20027 Information technology—ASN.1 encoding rules: Specification of Basic Encoding Rules (BER), Canonical Encoding Rules (CER), and Distinguished Encoding Rules (DER) [Рекомендация МСЭ-Т Х.690 (2002) | ISO/IEC 8825-1:2002 Информационные технологии. Правила кодирования ASN.1. Часть 1. Спецификация основных (BER), канонических (CER) и различительных правил кодирования (DER)] |

-    ITU-T Recommendation Х.691 (2002) | ISO/IEC 8825-2:20028 Information technology — ASN.1 encoding rules: Specification of Packed Encoding Rules (PER) [Рекомендация МСЭ-Т Х.691 (2002) | ISO/IEC

8825- 2:2002 Информационные технологии. Правила кодирования ASN.1. Часть 2. Спецификация правил уплотненного кодирования (PER)] |

-    ITU-T Recommendation Х.692 (2002) | ISO/IEC 8825-3:20029 Information technology — ASN.1 encoding rules: Specification of Encoding Control Notation (ECN) [Рекомендация МСЭ-Т Х.692 (2002) | ISO/ IEC 8825-3:2002 Информационные технологии. Правила кодирования ASN.1. Часть 3. Спецификация нотации контроля кодирования (ECN)]

-    ITU-T Recommendation Х.693 (2001) | ISO/IEC 8825-4:200210 Information technology — ASN.1 encoding rules: XML Encoding Rules (XER) [Рекомендация МСЭ-Т Х.693 (2001) | ISO/IEC 8825-4:2002 Информационные технологии. Правила кодирования ASN.1. Часть 4. Правила кодирования XML (XER)] |

ГОСТ ISO/l ЕС 24824-1—2013

Примечание — Приведен полный перечень рекомендаций и международных стандартов по ASN.1, так как все они могут быть применены в конкретных случаях использования настоящего стандарта. Если в тексте настоящего стандарта нет прямых ссылок на какой-либо документ, то в приведенном списке данный документ помечен символом f.

2.2 Дополнительные ссылки

-    ISO 8601:2004, Data elements and interchange formats — Information interchange — Representation of dates and times (ISO 8601:2004 Элементы данных и форматы для обмена информацией. Обмен информацией. Представление дат и времени)

-    ISO/IEC 10646:20031 Information technology — Universal Multiple-Octet Coded Character Set (UCS) [ISO/IEC 10646:2003 Информационные технологии. Универсальный многооктетный набор кодированных символов (UCS)]

-    The Unicode Standard, Version 4.0, The Unicode Consortium (Reading, MA, Addison-Wesley) (Стандарт Юникод, версия 4.0, Консорциум Юникода)

Примечание 1 — Графические символы (и их кодирования), определенные в стандарте Юникод, идентичны тем, которые определены в ISO/IEC 10646-1, а стандарт Юникод включен в перечень потому, что в нем определены имена управляющих символов и аббревиатура UTF-16BE.

-    W3C XML 1.0:2004, Extensible Markup Language (XML) 1.0 (Third Edition), W3C Recommendation, Copyright © [4 February 2004] World Wide Web Consortium (Massachusetts Institute of Technology, Institut National de Recherche en Informatique et en Automatique, Keio University), http://www.w3.org/TR/2000/REC-xml-20040204/ (W3C XML 1.0:2004. Расширяемый язык разметки (XML) 1.0 (третья редакция). Рекомендация консорциума W3C, © [4.02.2004] Консорциум Всемирной паутины (Массачусетский технологический институт, Национальный институт исследований в области компьютерной обработки данных и автоматики, Университет Кэйо), http://www.w3.org/TR/2000/REC-xml-20040204/)

-    W3C XML 1.1:2004, Extensible Markup Language (XML) 1.1, W3C Recommendation, Copyright © [4 February 2004] World Wide Web Consortium (Massachusetts Institute of Technology, Institut National de Recherche en Informatique et en Automatique, Keio University), http://www.w3.org/TR/2000/REC-xmll 1-20040204/ (W3C XML 1.1:2004. Расширяемый язык разметки (XML) 1.1. Рекомендация консорциума W3C, © [4.02.2004] Консорциум Всемирной паутины (Массачусетский технологический институт, Национальный институт исследований в области компьютерной обработки данных и автоматики, Университет Кэйо), http://www.w3.огдЯР/2000/РЕС-хт111-20040204/)

Примечание 2 — В перечень включены ссылки как на W3C XML 1.0, так и на W3C XML 1.1, поскольку ни один из них не является подмножеством другого. Данные ссылки использованы только в 3.4.10.

-    W3C XML Information Set:2004, XML Information Set (Second Edition), W3C Recommendation, Copyright © [04 February 2004] World Wide Web Consortium (Massachusetts Institute of Technology, Institut National de Recherche en Informatique et en Automatique, Keio University), http://www.w3.org/TR/2004/REC-xml-infoset-20040204/ (Информационный набор XML:2004. Информационный набор XML (вторая редакция). Рекомендация консорциума W3C, © [04.02.2004] Консорциум Всемирной паутины (Массачусетский технологический институт, Национальный институт исследований в области компьютерной обработки данных и автоматики, Университет Кэйо), http://www.w3.org/TR/2004/REC-xml-infoset-20040204/)

-    W3C XML Namespaces 1.0:1999, Namespaces in XML, W3C Recommendation, Copyright ©[14 January 1999] World Wide Web Consortium (Massachusetts Institute of Technology, Institut National de Recherche en Informatique et en Automatique, Keio University), http://www.w3.org/TR/1999/REC-xm-lnames-19990114/ (Пространства имен XML 1.0:1999. Пространства имен в XML. Рекомендация консорциума W3C, © [14.01.1999] Консорциум Всемирной паутины (Массачусетский технологический институт, Национальный институт исследований в области компьютерной обработки данных и автоматики, Университет Кэйо), http://www.w3.org/TR/1999/REC-xm-lnames-19990114/)

-    W3C XML Namespaces 1.1:2004, Namespaces in XML 1.1, W3C Recommendation, Copyright © [4 February 2004] World Wide Web Consortium (Massachusetts Institute of Technology, Institut National de Recherche en Informatique et en Automatique, Keio University), http://www.w3.org/TR/2004/REC-xm-l-namesl 1-20040204/ (Пространства имен XML 1.1:2004. Пространства имен в XML 1.1. Рекомендация консорциума W3C, © [4.02.2004] Консорциум Всемирной паутины (Массачусетский технологический 11 12

институт, Национальный институт исследований в области компьютерной обработки данных и автоматики, Университет Кэйо), http://www.w3.org/TR/2004/REC-xm-l-names11-20040204/)

Примечание 3 — В перечень включены ссылки как на пространства имен W3C XML 1.0, так и на пространства имен W3C XML 1.1, поскольку ни одно из них не является подмножеством другого. Данные ссылки использованы только в 3.4.10.

-    IETF RFC 2045 (1996), Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message Bodies (IETF RFC 2045 (1996). Многоцелевые расширения интернет-почты (MIME). Часть 1. Формат текста интернет-сообщения)

-    IETF RFC 2396 (1998), Uniform Resource Identifiers (URI): Generic Syntax (IETF RFC 2396 (1998). Универсальный код ресурса (URI): Основной синтаксис)

-    IEEE 754-198513 IEEE Standard for Binary Floating-Point Arithmetic (IEEE 754-1985. Стандарт формата представления чисел с плавающей точкой)

3 Термины и определения

В настоящем стандарте применены следующие термины по международным стандартам:

3.1    Термины ASN.1

В настоящем стандарте применены следующие термины по ISO/IEC 8824-1:

a)    тип choice;

b)    тип sequence;

c)    тип sequence-of.

3.2    Термины ECN

В настоящем стандарте применены следующие термины по ISO/IEC 8825-3:

a)    модуль определения кодирования (EDM);

b)    модуль связи кодирования (ELM).

3.3    Термины по ISO/IEC 10646

В настоящем стандарте применен следующий термин по ISO/IEC 10646:

а) основная многоязычная плоскость.

3.4    Дополнительные термины

В настоящем стандарте применены следующие термины с соответствующими определениями:

3.4.1    Base64: Метод кодирования, представляющий значение строки октетов в виде строки символов, в которой использован алфавит с ограниченной областью распространения из 65 символов (см. 10.3 и IETF RFC 2045).

3.4.2    строка символов (character string): Строка абстрактных символов по ISO/IEC 10646, не подразумевающая какого-либо способа кодирования.

3.4.3    алгоритм кодирования (encoding algorithm): Точная спецификация того, как эффективно закодировать в виде октетов строку символов с заданными характеристиками.

Примечание — Примером алгоритма кодирования является кодирование строки вида «-32176» в виде двоичного целого дополнения в двух октетах. Двухоктетное кодирование следует сопроводить индексом словарной таблицы, идентифицирующим этот алгоритм кодирования.

3.4.4    внешний словарь (external vocabulary): Набор словарныхтаблиц, указанный URI (см. 7.2.14).

3.4.5    документ быстрого инфо-набора (fast infoset document): Инфо-набор XML, представленный в соответствии с требованиями настоящего стандарта.

3.4.6    окончательный словарь (final vocabulary): Содержимое словарных таблиц по окончании создания или обработки документа быстрого инфо-набора.

3.4.7    информационный элемент (information item): Каждый из типов элементов, составляющих инфо-набор XML.

ГОСТ ISO/l ЕС 24824-1—2013

3.4.8    исходный словарь (initial vocabulary): Набор словарных таблиц, установленный информацией о заголовке документа быстрого инфо-набора, который (опционально) ссылается на внешний словарь и (опционально) предоставляет дополнительные записи таблицы.

3.4.9    идентификатор имени (name surrogate): Набор из трех индексов словарной таблицы (первые два являются опциональными), который используют для представления квалифицированного имени (см. 3.4.11).

3.4.10    корректно сформированный в отношении пространств имен документ XML

(namespace-well-formed XML document): Документ W3C XML 1.0, сформированный корректно в соответствии с пространством имен W3C XML 1.0, либо документ W3C XML 1.1, сформированный корректно в соответствии с пространством имен W3C XML 1.1.

3.4.11    квалифицированное имя (qualified name): Набор, состоящий из свойств [prefix], [namespace name] и [local name] информационного элемента element или информационного элемента attribute.

3.4.12    алфавит с ограниченной областью распространения (restricted alphabet): Упорядоченный набор отдельных символов по ISO/IEC 10646, который позволяет компактно кодировать любую строку символов, полностью состоящую из символов данного набора.

3.4.13    индекс словарной таблицы (vocabulary table index): Положительное целое значение, идентифицирующее запись в словарной таблице.

3.4.14    словарные таблицы (vocabulary tables): Набор концептуальных таблиц (обычно, но необязательно, создаваемых динамически), связанный с документом быстрого инфо-набора, который содержит строки символов или другую информацию и поддерживает использование обычно малых положительных целых значений (индексов словарных таблиц) для идентификации записей в таблицах.

Примечание — Примерами словарных таблиц являются таблицы, содержащие строки символов, которые являются свойством [local name] информационных элементов attribute или element, или строки символов, соответствующие последовательностям информационных элементов character, которые являются членами свойства [children] информационных элементов element.

3.4.15    декларация XML (XML declaration): Кодирование UTF-8 заданной строки символов (см. 12.3), которое может быть включено в начало документа быстрого инфо-набора для идентификации данного кодирования как документа быстрого инфо-набора и для того, чтобы отличить его от документов W3C XML 1.0 и документов W3C XML 1.1.

3.4.16    инфо-набор XML (XML infoset): Абстрактное множество данных, описывающее информацию в корректно сформированном в отношении пространств имен документе XML, как определено в инфо-наборе W3C XML.

3.4.17    пробел XML (XML whitespace): Один или несколько следующих символов Unicode: HORIZONTAL TABULATION (9), LINE FEED (10), CARRIAGE RETURN (13) или SPACE (32).

Примечание — Эти символы соответствуют символам «S» (пробелы) как в W3C XML 1.0, так и в W3C XML 1.1 (см. W3C XML 1.0, п. 2.3 и W3C XML 1.1, п. 2.3). Символы NEXT LINE (133) и LINE SEPARATOR (8232), которые могут встретиться в корректно сформированных в отношении пространств имен документах W3C XML 1.1 (см. W3C XML 1.1, п. 2.11), преобразуются в символы LINE FEED при обработке конца строки (см. W3C XML 1.1, п. 2.11). Когда эти символы встречаются в инфо-наборе XML, созданном из корректно сформированного в отношении пространств имен документа W3C XML 1.1, они не являются пробелами XML.

4 Сокращения

В настоящем стандарте применены следующие сокращения:

ASN.1 —Abstract Syntax Notation One (абстрактная синтаксическая нотация версии 1);

ECN — Encoding Control Notation (нотация контроля кодирования);

MIME — Multipurpose Internet Mail Extensions (многоцелевые расширения интернет-почты);

UBL — Universal Business Language (универсальный бизнес-язык);

URI — Uniform Resource Identifier (унифицированный идентификатор ресурса);

UTF-8 — Universal Transformation Function 8-bit (универсальная функция преобразования, 8 бит, по ISO/IEC 10646, Приложение D);

UTF-16BE — Universal Transformation Function 16-bit Big Endian (универсальная функция преобразования, 16 бит, по Unicode, п. 2.6);

UUID — Universally Unique Identifier (универсальный уникальный идентификатор);

XML — extensible Markup Language (расширяемый язык разметки).

5

5    Нотация

5.1    Для формального определения типов данных, кодирования которых являются документами быстрого инфо-набора, в настоящем стандарте используют нотацию ASN.1 по ISO/IEC 8824-1.

Примечание — В разделе 12 определено применение ISO/IEC 8825-3 к определению типов ASN.1, обеспечивающее кодирование документа быстрого инфо-набора на уровне битов.

5.2    В настоящем стандарте полужирный шрифт courier New используется для нотации ASN.1, а полужирный шрифт Arial — для синтаксиса W3C XML и имен информационных элементов инфо-набора XML.

5.3    Имена свойств информационных элементов пишут полужирным шрифтом Arial и заключают в квадратные скобки (например, [children]).

5.4    Имена категорий строк символов (см. 8.4.2) и категорий уточненных имен пишут ПРОПИСНЫМИ БУКВАМИ.

5.5    В настоящем стандарте позиции битов внутри октета специфицируют с использованием терминов «первый бит», «второй бит» и т. д. до «восьмого бита», где первый бит является самым старшим битом октета, а восьмой бит — самым младшим.

6    Принципы построения и использования словарных таблиц

6.1    Словарные таблицы представляют собой концептуальные таблицы, отображающие индекс словарной таблицы в ее запись.

Примечание — В настоящем стандарте не определяется представление словарных таблиц в памяти компьютера и средства, с помощью которых реализация отображает индекс словарной таблицы в ее запись.

6.2    Содержимое словарных таблиц определяет создатель документа быстрого инфо-набора из инфо-набора XML.

6.3    В самом общем случае заголовок документа быстрого инфо-набора может ссылаться на набор словарных таблиц (внешний словарь) с последующей спецификацией дополнений к этим словарным таблицам с целью формирования исходного словаря для данного документа быстрого инфо-набора. В ходе создания и обработки документа быстрого инфо-набора происходят последующие добавления к словарным таблицам, в результате чего они увеличиваются, образуя окончательные словарные таблицы для данного документа.

6.4    В ходе создания и обработки документа быстрого инфо-набора некоторые словарные таблицы увеличиваются от исходного словаря до окончательного, и поэтому имена таких словарных таблиц содержат слово «динамическая». Методы удаления записей из каких-либо таблиц отсутствуют.

6.5    Индексы словарных таблиц присваивают неявно. Первая запись в любой словарной таблице имеет индекс словарной таблицы, равный единице, а каждая последующая запись в данной таблице имеет в качестве значения индекса словарной таблицы следующее по порядку целое значение. Когда в настоящем стандарте специфицировано, что в словарную таблицу должно быть что-либо добавлено, то подразумевается, что должен быть присвоен следующий доступный индекс словарной таблицы.

Примечание — Значения индексов словарных таблиц начинаются с единицы, а не с нуля потому, что значение ноль (когда оно допустимо) имеет специальный смысл «пустая строка символов» в поле, которое в противном случае может содержать индекс словарной таблицы.

6.6    Для поддержки такого неявного присвоения индексов словарных таблиц определен концептуальный порядок обработки компонентов (на любую глубину) документа быстрого инфо-набора (см. 8.1).

Примечание — Указанный порядок совпадает с порядком кодирования компонентов в документе быстрого инфо-набора. Это не обязательно подразумевает, что семантика документа обрабатывается в том же порядке. Данный порядок определен только для того, чтобы создатель и обработчик документа быстрого инфо-набора присваивали любой заданной записи словарной таблицы один и тот же индекс словарной таблицы.

6.7    Словарные таблицы применяют для разных целей (см. раздел 8), их основной функцией является обеспечение использования индексов словарных таблиц вместо записей словарных таблиц, когда эти индексы меньше по размеру (и, возможно, будут быстрее обработаны), чем записи. Некоторые встроенные записи для некоторых словарных таблиц определены в разделе 9. Эти записи всегда неявно присутствуют в указанных словарных таблицах и имеют значения индексов словарных таблиц, определенные в разделе 9.

6

1

Издание официальное

2

   Отменен. Действует ISO/IEC 9834-8:2014.

3

   Отменен. Действует ISO/IEC 8824-1:2008.

4

   Отменен. Действует ISO/IEC 8824-2:2008.

5

   Отменен. Действует ISO/IEC 8824-3:2008.

6

   Отменен. Действует ISO/IEC 8824-4:2008.

7

   Отменен. Действует ISO/IEC 8825-1:2008.

8

   Отменен. Действует ISO/IEC 8825-2:2008.

9

   Отменен. Действует ISO/IEC 8825-3:2008.

10

   Отменен. Действует ISO/IEC 8825-4:2008.

11

1 Отменен. Действует ISO/IEC 10646:2014.

12

13

Отменен. Действует IEEE 754-2008.