ГОСТ Р ИСОГГС 10303-26—2015
Пример - Пусть задана следующая EXPRESS-схема:
SCHEMA s;
TYPE positive_integer = INTEGER;
END_TYPE;
TYPE bigjpositive_integer *»positive_integer;
END_TYPE;
END_SCHEMA;
Объявление первого типа данных отобразится на именованный тип данных HDF5 с именем
"s_encoding/positiveJnteger
"
и базовым типом данных HDF5 H5TJNTEGER. Объявление второго типа
данных отобразится на именованный тип данных HDFS с именем "s_encoding/big_positive_ integer
“
и
базовымтипомданныхHDF5.соответствующимименованномутипуданных
“s_encoding/posrtive_integer".
Дополнительный пример приведен в С.5.
6.9.5 Отображение определенных типов данных ARRAY языка EXPRESS
Отображение всех агрегированных типов данных языка EXPRESS представляется с использо
ванием массива HDF5 или типа данных VLEN. Для типа данных ARRAY языка EXPRESS с фиксиро
ванными в схеме границами может быть непосредственно определен тип данных HDF5 Array. Однако
для других агрегированных типов данных языка EXPRESS размерности агрегированных структур
зависят от реального содержимого данных, и поэтому не выводятся непосредственно из EXPRESS-
схемы. Именованный тип данных HDF5 должен иметь следующее относительное имя:
<schema_group_name> + "/" + <type_id>.
Пример
—
Следующий определенный тип данных языка EXPRESS из EXPRESS-схемы “s“ с груп
пой HDF5 с именем
"
s_encoding
",
соответствующей данной схеме:
SCHEMA, s;
TYPE context_dependent_raeasure * REAL;
END_TYPE; ”
TYPE anisotropic_symmetric_tensor2_2d «
ARRAY [1:3] OF context_dependent_measure;
END_TYPE;
END_SCHEMA;
приведет к отображению на именованный тип данных HDF5 с именем "s_encoding/anisotropic_
symmetric_tensor2_2d" и базовым типом данных HDF5 H5T_ARRAY или VLEN, содержащим данные типа
H5TJFLOAT, потому что тип данных “s_encodingJcontext_dependent_measure" должен быть отображен в
соответствии с 6.9.4.
6.9.6 Отображение определенных типов данных BAG, LIST и SET языка EXPRESS
Для каждого экземпляра агрегированного определенного типа данных языка EXPRESS, в опре
делении которого встречаются типы данных BAG. SET или LIST, используется тип данных HDF5
VLEN для сохранения каждого экземпляра типа данных BAG, SET или LIST языка EXPRESS. Пред
ставляющий данный экземпляр именованный тип данных HDF5. в соответствии с требованием для
определенных типов данных ARRAY языка EXPRESS, не должен быть включен в файл HDF5.
Пример
----
Следующий определенный тип данных языка EXPRESS из EXPRESS-схемы
"s" с
груп
пой HDF5 с именем
"
sjencoding", соответствующей данной схеме:
SCHEMA s;
TYPE real_list » LIST [1:?] OF REAL;
END_TYPE;“
ENTITY x;
x_real_list : real_list;
END_ENTITY;
END_SCHEMA;
приведет к отображению на тип данных VLEN, не обязательно имеющий имя. хотя это и возможно.
Базовым типом данных HDF5 должен быть HDF5 IEEE Floating Point 32 или 64 bits. Big- или Little-Endian.
Настоящий стандарт не требует, чтобы этот тип данных был определен в группе "sjencoding
".
16