ГОСТ Р И С 0 10303-11 — 2009
TYPE domain2_approval = EXTENSIBLE ENUMERATION BASED.ON general.approval WITH (pending);
ENDTYPE;
END.SCHEMA;
SCHEMA s3;
USE FROM s1 (general_approval):
TYPE domain3_approval = EXTENSIBLE ENUMERATION BASED_ON general_approval WITH (cancelled);
ENDTYPE;
END.SCHEMA;
SCHEMA s4;
USE FROM s2 (domain2_approval);
REFERENCE FROM s3 (domain3_approval);
TYPE specrfic_approval = ENUMERATION BASED_ON domain2_approval WITH (rework);
ENDTYPE;
END.SCHEMA;
SCHEMA s5;
USE FROM s1 (general_approval);
TYPE redundant_approval = ENUMERATION BASED_ON general_approval WITH (approved):
ENDTYPE;
END.SCHEMA;
В контексте схемы si: general_approval имеет область определения (approved, rejected).
В контексте схемы s2: general_approval имеет область определения (approved, rejected, pending);
domain2_approval имеет область определения (approved, rejected, pending).
В контексте схемы s3: general_approval имеет область определения (approved, rejected, cancelled);
domain3_approval имеет область определения (approved, rejected, cancelled).
В контексте схемы s4: general_approval имеет область определения (approved, rejected, pending,
cancelled, rework); domain2_approval имеет область определения (approved, rejected, pending, rework);
domain3_approval имеет область определения (approved, rejected, cancelled); specific_approval имеет
область определения (approved, rejected, pending, rework).
В контексте схемы s5: general_approval имеет область определения (approved, rejected);
redundant_approval имеет область определения (approved, rejected).
8.4.2 Выбираемый тип данных
Выбираемый тип данных определяет тип данных, позволяющий выбирать среди нескольких имено
ванных типовданных. Выбираемый тип данных является обобщением именованных типовданных всвоей
области определения. Определенный тип данных, для которого выбираемый тип данных является базис
ным представлением, может добавлять ограничения на свою область определения посредством объявле
ния локальных правил. Выбираемый тип данных может быть или не быть наращиваемым.
Областью определения выбираемого типа данных, который не является ни наращиваемым, ни рас
ширяющим. является объединение областей определения именованных типов данных из его списка
выбора.
Областью определения наращиваемого выбираемого типа данных является объединение областей
определения именованных типов данных из его собственного списка выбора плюс объединение областей
определения всех расширяющих выбираемых типов данных. Наращиваемый выбираемый тип данных за
дается посредством ключевого слова EXTENSIBLE.
Областью определения расширяющего выбираемого типа данных являются именованные типы дан
ных из ого собственного списка выбора плюс именованные типы данных, указанные непосредственно (а не
через расширение) в наращиваемом выбираемом типе данных, на котором он основан.
Расширяющий выбираемый тип данных задается посредством ключевого слова BASED_ON.
Выбираемый тип данных может быть как наращиваемым, так и расширяющим выбираемым типом
данных. Наращиваемый выбираемый типданных может быть задан без списка выбора, а также основан на
другом наращиваемом выбираемом типе данных без задавания списка выбора, расширяющего данный
базисный список выбора.
Только наращиваемый выбираемый тип данных может быть ограничен наличием в своей области
определения только экземпляров объектов посредством ключевого слова GENERIC_ENTITY. В данном
случае все элементы списка выбора должны быть элементами обобщенного объекта, где элемент обоб
щенного объекта определяется как относящийся кобъектному типуданных либо ксписку выбора из эле
ментов обобщенного объекта. Все расширения данного выбираемого типаданныхдолжны быть выбирае
мыми типами данных обобщенного объекта и должны задаваться посредством ключевого слова
GENERIC ENTITY
24