Статус документа
Статус документа

ГОСТ Р ИСО/МЭК 8825-5-2013 Информационная технология (ИТ). Правила кодирования AСН.1. Часть 5. Отображение определений W3C схемы XML в AСН.1

     21 Отображение групповых символов

21.1 Применение данного раздела является прямым запросом из других мест настоящего стандарта сформировать определение типа АСН.1 или "NamedType", соответствующий групповому символу.

21.2 Для отображения версии 1 применяется 21.3. Для отображения версии 2 применяется 21.4.

21.3 Групповой символ, который является термом частицы, должен быть отображен в определении типа АСН.1, сформированном применением раздела 23 к встроенному типу XSD xsd:string. Заключительная команда кодирования ANY-ELEMENT должна быть присвоена определению типа АСН.1.

21.4 Групповой символ, который является термом частицы, должен быть отображен как указано в 21.4.1-21.4.7.

21.4.1 Фраза "атрибут отображения группового символа" (используется только в данном пункте) обозначает объект информации атрибута со свойством [namespace name] "urn:oid: 2.1.5.2.0.1" и свойством [local name] "wildcard-mapping", который является элементом атрибутов присутствия примечания в групповом символе. Фраза "значение атрибута отображения группового символа" (используется только в данном пункте) обозначает свойство [normalized value] атрибута отображения группового символа.

Примечание - Имя пространства имен, указанное в данном подпункте, является именем пространства имен АСН.1, которое определено в Рекомендации МСЭ-Т Х.693 ИСО/МЭК 8825-4:2008 (п.16.9).

21.4.2 Атрибут отображения группового символа должен иметь одно из следующих значений: CHOICE-Fl, CHOICE-UTF-8, FI или UTF-8.

Пример - Далее приведен пример атрибута отображения группового символа:

<xsd:any>

<xsd:annotation

a:wildcard-mapping="FI"

xmlns:a="urn:oid:2.1.5.2.0.1"/>

</xsd:any>

21.4.3 Групповой символ без атрибута отображения группового символа должен рассматриваться, как будто у него есть атрибут отображения группового символа со значением CHOICE-FI (если process contents является strict или lax) или FI (если process contents является skip).

21.4.4 Групповой символ, process contents которого является skip, не должен иметь атрибута отображения группового символа со значением CHOICE-FI или CHOICE-UTF-8.

21.4.5 Групповой символ, атрибут отображения группового символа которого имеет значение UTF-8, должен быть отображен в АСН.1 встроенном типе UTF8String со следующим определяемым пользователем ограничением:

(CONSTRAINED BY

{/* Every character string abstract value shall

be a well-formed XML document encoded in UTF-8. */})

     
и с заключительной командой кодирования ANY-ELEMENT.

21.4.6 Групповой символ, атрибут отображения группового символа которого имеет значение FI, должен быть отображен в АСН.1-встроенном типе OCTET STRING со следующим определяемым пользователем ограничением:

(CONSTRAINED BY

{/* Every octet string abstract value shall be a

well-formed fast infoset document (see ITU-T

Rec. X.891 | ISO/IEC 24824-1). */})

     
и с заключительной командой кодирования ANY-ELEMENT.

21.4.7 Групповой символ, атрибут отображения группового символа которого имеет значение CHOICE-FI или CHOICE-UTF-8, должен быть отображен в типе выбора АСН.1, сформированном следующим образом:

а) одна альтернатива должна быть добавлена к типу выбора для каждого высокоуровневого объявления элемента в исходной схеме XSD, которое не является абстрактным и целевое пространство имен которого является именем пространства имен (или отсутствующим пространством имен), разрешенным ограничением пространства имен (namespace constraint) группового символа;

б) для каждой альтернативы "identifier" в "NamedType" должен быть сформирован применением 10.3 к имени высокоуровневого объявления элемента, соответствующего альтернативе, и "Туре" в "NamedType" должно быть определением типа ACH ("DefinedType"), сформированным применением 10.2 к присвоению типа АСН.1, полученному применением раздела 14 к высокоуровневому объявлению элемента;

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

г) если атрибут отображения группового символа имеет значение CHOICE-UTF-8, другая альтернатива должна быть добавлена в конец типа выбора; "identifier" в "NamedType" должен быть сформирован с применением 10.3 к символьной строке "elem" и "Туре" в "NamedType" должно быть типом АСН.1, указанным в 21.4.5;

д) если атрибут отображения группового символа имеет значение CHOICE-FI, другая альтернатива должна быть добавлена в конец типа выбора; "identifier" в "NamedType" должен быть сформирован применением 10.3 к символьной строке "elem", и "Туре" в "NamedType" должно быть типом АСН.1, указанным в 21.4.6;