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

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

     10.4 Порядок отображения

10.4.1 Порядок отображения налагается на высокоуровневые компоненты исходной схемы XSD, на которой выполняется отображение. Это применяется к определениям модельной группы, высокоуровневым сложным определениям типа, высокоуровневым простым определениям типа, высокоуровневым объявлениям атрибута и высокоуровневым объявлениям элемента.

Примечание - Другие высокоуровневые компоненты схемы не отображаются в АСН.1, а встроенные типы XSD отображаются особым способом.

10.4.2 Порядок описывается в трех следующих абзацах.

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

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

а) объявления элемента;

b) объявления атрибута;

c) сложные определения типа и простые определения типа;

d) определения модельной группы.

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

10.4.3 Два набора присвоений типа АСН.1 сформированы отображением:

a) одного набора присвоений типа АСН.1 (сформированного в соответствии с разделами 13, 14, 15, 17 и 20), соответствующих непосредственно высокоуровневым компонентам схемы, и их имен ссылок типов, полученных из имени компонента схемы без добавления суффикса;

b) другого набора присвоений типа АСН.1 (сформированного в соответствии с разделами 29, 30 и 31), соответствующих особым применениям высокоуровневых компонентов схемы, и их имен ссылок типов, полученных из имени компонента схемы, сопровождаемого суффиксом и (в некоторых случаях) постсуффиксом.

Примечание - Для каждого высокоуровневого компонента в исходной схеме XSD максимум может быть сформировано одно присвоение типа АСН.1 в наборе в 10.4.3 а), но могут быть сформированы многократные присвоения типа АСН.1 в наборе в 10.4.3 b).

10.4.4 Присвоения типа АСН.1 в наборе в 10.4.3 а) должны быть сформированы в порядке соответствующих компонентов схемы XSD (см. 10.4.1) и должны быть сформированы все, прежде чем сформируются любые присвоения типа в 10.4.3 b).

10.4.5 Присвоения типа АСН.1 в 10.4.3 b) должны быть сформированы в следующем порядке:

a) учитывая два высокоуровневых компонента схемы SC1 и SC2, где SC1 предшествует SC2 в порядке, определенном в 10.4.1, все присвоения типа АСН.1, соответствующие SC1 (если такие есть), должны быть сформированы, прежде чем сформируются любые присвоения типа, соответствующие SC2;

b) в пределах каждого набора присвоений типа, соответствующих любому предоставленному компоненту схемы, присвоения типа должны быть сформированы в порядке, основанном на суффиксе, указанном в 29-31, следующим образом:

1) суффикс "-nillable";

2) суффикс "-nillable-default-";

3) суффикс "-nillable-fixed-";

4) суффикс "-derivations";

5) суффикс "-deriv-default-";

6) суффикс "-deriv-fixed-";

7) суффикс "-deriv-nillable";

8) суффикс "-deriv-nillable-default-";

9) суффикс "-deriv-nillable-fixed-";

10) суффикс "-group";