ГОСТ Р МЭК 61360-2—2013
subset: LIST [I:?] OK UNIQUE primitive_value;
value_meaning: OPTIONAL non_quantitative_int_type;
WHERE
WRI: (NOT(EXISTS(SELF.valuemeaning)))
OR
(integer_values_in_range(1,SIZEOF(SELF.subset)>
-allowed_vaiues_integer_types(SELF.value_meanir.g));
enumeration_cor.3traint
EN1>_ENTITY; —
<w "
Определения атрибутов:
subset: список, описывающий подмножество значений, допустимыхдля свойства, идентифициро
ванного атрибутом constrainod_properties.
value_meanlng: набор словарных значений dic_value. определяющих смысл каждого значения,
принадлежащего списку subset.
Пояснение к тексту программы.
WR1: если существует неколичественный целый тип non_quantitative_int_typo для смысла зна
чения value_codes, то набор кодов value_codes его словарных значений dic_value должен принадле
жать подмножеству 1.. SIZE_OF.
7.3.13 Ограничение диапазона (Range_constraint)
Сущность range_constraint ограничивает область значений упорядоченного типа подмножеством
значений, определенных некоторым диапазоном.
Примечание 1 — Строка не рассматривается как упорядоченный тип и не может быть ограничена усло
вием range_constraint.
Для подтипов number_type. ассоциированных со словарными единицами измерения dic_unit.
альтернативными единицами измерения, а также, возможно, с идентификаторами словарных единиц
измерения dic_unit_identifier и идентификаторами альтернативных единиц измерения, рассматривае
мое ограничение накладывается на значение, соответствующее словарной единице dic_unit или одно му
инедтификатору словарной единицы dic_unit_identifler. Если существуют и словарная единица, и
идентификатор, то они должны соответствовать одной и той же единице измерения.
Для подтипов number_type, ассоциированных с валютой, ограничение накладывается на валюту,
указанную в определении их типов данных. Если никакая валюта в определении типа данных не указа на.
то ограничение не используется.
Примечание 2 — Для некол«явственного целого типа данных non_quantitative_int_type ограничения
накладываются на код значения value_code.
Пример представления на языке EXPRESS:
М
ENTITY range_constraint
SUBTYPE OF (domain_constraint);
min_value, max_value: OPTIONAL NUMBER; min_inclusive,
raax_inclusive:OPTIONAL BOOLEAN;
WHERE
WRI:min_value <- max_value;
WR2 :TYPEOF(min value) - TYPEOF<max_value);
WR3:NOT EXISTS <min_value) OR EXISTS (min_inclusive);
WR4:NOT EXISTS (max_%ralue) OR EXISTS (max_inclusive);
END_ENTITY; — range_constraint
C “
Определения атрибутов:
min_value: число, определяющее нижнюю границу диапазона значений: если это число не зада
но, то нижней границы нет.
max_value: число, определяющее верхнюю границу диапазона значений; если это число не за
дано. то верхней границы нет.
102