Объявление схемы (SCHEMA) определяет общую область видимости для совокупности относящихся к нему объявлений объектных и других типов данных. Схема может подвергаться изменениям в рамках среды разработки или стандартизации. Для поддержки возможности идентификации конкретной версии схемы определяется идентификатор версии схемы. В настоящем стандарте не определяется формат идентификатора версии схемы, за исключением того, что он должен быть строковым литералом. Ни в одной конструкции, определенной в настоящем стандарте, нет ссылок на идентификатор версии схемы. Кроме того, в настоящем стандарте не определен способ управления изменениями в схемах с использованием идентификаторов версии схемы. Если две схемы с одинаковым именем имеют разные идентификаторы версии схемы, то они не должны рассматриваться как одна и та же схема.
Примечание - Для схем, установленных в стандартах комплекса ИСО 10303, определено использование идентификатора информационного объекта, включающего в себя идентификатор версии. Смысл идентификатора объекта установлен в ИСО/МЭК 8824-1 и описан в ИСО 10303-1. Данный идентификатор объекта рекомендуется использовать в качестве идентификатора версии схемы.
Примеры
1 Идентификатор geometry может быть именем схемы, содержащей объявления точек, кривых, поверхностей и других, связанных с ними, типов данных.
2 Может существовать множество версий схем, идентификаторы которых могут включать также идентификатор версии языка. В данном примере в схеме support_resource_schema используется идентификатор информационного объекта, соответствующий определению ИСО/МЭК 8842-1 и описанию в ИСО 10303-1.
SCHEMA geometry_schema ' version_1 ' ;
END_SCHEMA;
SCHEMA geometry_schema ' version_2 ' ;
END_SCHEMA;
SCHEMA support_resource_schema ' {ISO standard 10303 part(41) object(1)
version(8)} ' ;
END_SCHEMA;
SCHEMA support_resource_schema ' {ISO standard 10303 part(41) object(1)
version(9)}';
END_SCHEMA;
Порядок, в котором объявления появляются в объявлении схемы, значения не имеет.
Объявления, сделанные в одной схеме, могут быть сделаны видимыми в области видимости другой схемы посредством спецификации интерфейса в соответствии с разделом 11.
Синтаксис: | |||
296 | schema_decl = | SCHEMA schema_id [schema_version_id ] ';' schema _body | |
END_SCHEMA ';' . | |||
298 | schema_version_id = string_literal . | ||
295 | schema_body = | {interface_specification} [ constant_decl ] | |
{declaration | rule_decl } . | |||
242 | interface_specification = reference_clause | use_clause . | ||
199 | declaration = entity_decl | function_decl | procedure_decl | | ||
subtype_constraint_decl | type_decl. |