ГОСТ Р ИСО 10303-21—2022
DATA (’ONE’, (’LONGA’));
#1=А(-3.5);
#2=B(’Sam Smith’);
#3=B(’John Doe’);
ENDSEC;
DATA (’TWO’, (’LONGB’));
#4=C(#2, ’100 Main Street’);
#5=C(#3, ’1300 Elmwood Avenue);
ENDSEC;
END-ISO-10303-21;
В настоящем примере предполагается наличие информации об области эквивалентности зна
чений, заданной с использованием одного из методов, описанных в ИСО 10303-22, устанавливающей
эквивалентность области значений типов А и В в обеих схемах. Это представлено в виде:
LONGA. A is DEQ to LONGB.A
LONGB. A is DEQ to LONGB.A
LONGA. B is DEQ to LONGB.В
LONGB. В is DEQ to LONGA.B
При использовании области эквивалентности для определения правильности ссылок реализация
должна учитывать, что тип объекта LONGA.B является областью эквивалентности значений для
LONGB.В, что допускает ссылки из #4 на #2 и из #5 на #3.
Е.2 Определение совокупности схемы
Объект
file_population
в заголовочной секции связывает EXPRESS-схему и набор (коллекцию) экземпляров
объектов с конкретной структурой обмена. Атрибут
determination_method
определяет алгоритм выбора коллекции
экземпляров объектов, заданных в наборе секций данных. В настоящем разделе описаны три метода их определе
ния. Можно использовать другие методы, не определенные в настоящем стандарте.
При определении схематического соответствия структуры обмена коллекция экземпляров объектов, задан
ная в соответствующих
file_population,
должна быть проверена на соответствие EXPRESS-схеме. Если на какую-
либо секцию данных нет ссылки из какого-либо объекта
file_population,
то эта секция должна быть проверена
на соответствие определенной в ней схемы по методу ограничения секции, описанному ниже.
При проверке соответствия схемы установленным требованиям и ограничениям ссылки на экземпляры объ
ектов, сделанные вне коллекции данных экземпляров, должны восприниматься как ошибочные.
Примечание — Последующая процедура описывает метод проверки структуры обмена в соответствии с
8.2.4 и вышеизложенным параграфом.
Для каждого объекта
file_population,
имеющего в структуре обмена значение "F":
- находят набор экземпляров посредством использования метода, заданного объектом
F.determination_
method,
для секций данных, поименованных в объекте
F.governed_sections.
Если объект
F.governed_sections
является пустым (неопределенным), то данный метод используют для всех секций данных в структуре обмена;
- проверяют данный набор на соответствие правилам и ограничениям, заданным в объекте
F.governing_
schema;
- отмечают секции данных, являющиеся исходными данными для объекта
F.determination_method.
Для каждой немаркированной секции данных "D" проверяют набор экземпляров в этой секции на соответ
ствие правилам и ограничениям, заданным в схеме.
Е.2.1 Метод ограничения секции
При использовании метода ограничения секции атрибут
determination_method
должен иметь значение
"SECTION_BOUNDARY". Набор (коллекция) экземпляров объектов, заданный в качестве исходных данных для
одной или нескольких секций, должен содержать:
- все экземпляры из заданной секции данных.
Примеры
1 Рассмотрим схемы и структуру обмена, описанные в примере согласно F.1.1. Заголовочная сек
ция не содержит каких-либо экземпляров объекта filepopulation. При определении схематического со
ответствия структуры обмена должно быть учтено следующее:
- на секцию данных ONE не ссылаются из какого-либо объекта filepopulation, поэтому следует
проверить все экземпляры объектов этой секции на соответствие задающей ее схеме. Все экземпля ры
в секции данных ONE должны удовлетворять требованиям и ограничениям схемы BASE. В данном
примере совокупность удовлетворяет всем ограничениям схемы BASE;
- на секцию данных TWO не ссылаются из какого-либо объекта fdepopulation, поэтому следует
проверить все экземпляры объектов этой секции на соответствие задающей ее схеме. Все экзем
пляры в секции данных ONE должны удовлетворять требованиям и ограничениям схемы EXTENSION.
63