ГОСТ Р ИСО 10303-11— 2009
Примеры
1 Если одной из исходных схем является SCHEMA geometry_schema. то соответствующий ей
встроенный комментарий должен выглядеть следующим образом:
schema = geometry_schema;
2 Встроенный комментарий, содержащий имена следующих двух исходных схем:
SCHEMA schema_one;
SCHEMA schema_two’ version 4 ’ ;
выглядит следующим образом:
(* Original 2003 schemas:
schema = schema_two schema_version_id = ’ version 4 ’ ;
schema = schema_one;
*)
G.5 Этап 2 — Преобразование промежуточной схемы в схему по ИСО 10303-11:1994
G.5.1 Введение
Ниже определен второй этап формирования спецификации модели данных единой схемы по ИСО 10303-
11:1994 из многосхемного представления модели данных.
Исходными данными для данного этапа является спецификация модели данных в виде ссылочно полной
единой схемы, сформированной в соответствии с G.4. Результатом данного этапа является единая ссылочно
полная схема, не содержащая конструкций, не соответствующих ИСО 10303-11:1994.
Установленные ниже правила определяют, каким образом конструкции исходной схемы должны приво
диться в соответствие с ИСО 10303-11:1994.
Назовем исходную схему artifact, а результирующую схему longform.
G.5.2 Инициализация
Создадим новую схему с именем longform. Скопируем все объявления и комментарии из промежуточной
схемы в схему longform. Все представления строковых идентификаторов должны быть соответствующим образом
модифицированы.
G.5.3 Преобразование наращиваемых конструкционных типовданных
Наращиваемые выбираемые типы данных и наращиваемые перечисляемые типы данных (см. 8.4) не
определены в ИСО 10303-11:1994. Дерево, содержащее любой из этих типов данных, должно быть сокращено до
одного нерасширяемого типа данных. Конструкционные типы данных, не являющиеся частью данного дерева,
должны быть просто скопированы из схемы artifact в схему longform.
Для того, чтобы сократить дерево наращиваемых типов данных, выполняют следующие преобразования:
- каждый наращиваемый или расширяющий тип данных должен быть заменен типом данных с тем же
именем, но который не является ни наращиваемым, ни расширением какого-либо типа данных:
- элементы списков, заданных в каждом конструкционном типе данных должны быть совокупностью элемен
тов. принадлежащих области определения данного типа данных относительно схемы longform:
- для того, чтобы поддерживать отношения между наращиваемыми и расширяющими типами данных, их
результирующие структуры должны быть связаны: зависимые типы данных, к которым относятся расширяющие
типы данных, должны быть созданы в виде определенных типов данных, использующих расширяющий тип дан
ных в качестве базисного типа; элементы базисного типа данных, не являющиеся допустимыми в определенном
типе данных, должны быть ограничены посредством локальных правил:
- в случае, если определенный тип данных в схеме, видимой во внешней схеме, имеет в качестве своего
базисного типа данных наращиваемый или расширяющий тип данных, то к данному определенному типу данных
добавляется условие WHERE: это позволит исключить все элементы, появившиеся в результате преобразования,
но не являющиеся допустимыми элементами списков в схемах, видимых во внешней схеме: поясняющие приме ры
приведены ниже:
- при выполнении данной процедуры в результирующую схему могут быть скопированы конструкционные
типы данных, на которые не ссылается ни один тип данных в схеме в длинной форме. Такие типы данных и их
помеченные комментарии должны быть удалены из длинной формы.
Ниже приведено подробное описание применения данных правил к типам данных EXTENSIBLE
ENUMERATION и EXTENSIBLE SELECT.
G.5.3.1 Тип данных EXTENSIBLE ENUMERATION
Тип данных EXTENSIBLE ENUMERATION должен быть преобразован в соответствии сопределенной выше
процедурой в перечисляемый тип данных, не являющийся наращиваемым. Имена всех конструкций должны быть
сохранены.
Если все элементы перечисления наращиваемого перечисляемого типа данных допустимы в контексте
результирующей схемы в длинной форме, то наращиваемый перечисляемый тип данных должен быть преобра
зован в определенный тип данных, базисным типом которого является целевой перечисляемый тип данных
170