Расширение класса представляется с помощью абстрактного комплексного XML-типа данных CLASS_EXTENSION_Type (см. рисунок 38), который позволяет определять, в частности, для любых видов расширений класса, описывается ли каждый экземпляр одними и теми же свойствами в одном и том же порядке, имея вид строки таблицы (XML-элемент table_like), а также позволяет ли определять множество применимых к классу свойств, которые необходимы и достаточны для идентификации каждого экземпляра, принадлежащего к расширению класса. Таким образом, в случае таблицы подобной структуры содержания он будет соответствовать ключу к этой таблице и выполняться с помощью XML-элемента instance_identification (см. рисунок 38).
Примечание 1 - Свойства, которые соответствуют табличному ключу, должны связываться со значениями для всех экземпляров класса. Это определяется в спецификации на ограничительные условия для подкласса.
Рисунок 38 - Обобщенная структура класса расширения
Определения внутренних элементов:
Элемент classification: Определяет возможную ссылку на классификацию свойств, используемых для описания экземпляров класса.
Элемент content_revision: Определяет номер редакции, который соответствует текущему описанию варианта элемента content_version расширения класса.
Элемент content_version: Определяет номер версии, который характеризует расширение класса, т.е. множество допускаемых экземпляров класса.
Элемент dictionary_definition: Определяет ссылку на определение расширения класса в словаре.
Элемент instance_identification: Определяет ссылки на свойства, которые позволяют однозначно идентифицировать каждый экземпляр, принадлежащий какому-либо классу.
Элемент population: Определяет список экземпляров класса, которые описывают семейство классов.
Элемент recommended_presentation: Определяет рекомендуемый коэффициент масштабирования, единицы представления информации и форматы представления значений, которые должны использоваться для индикации значений ссылочных свойств в контексте ссылочного класса.
Элемент table_like: Определяет булево значение, которое определяет, характеризуются ли все экземпляры класса одними и теми же свойствами и в одно и том же порядке, или нет.
Определения внутренних типов:
Тип CLASS_EXTENSION_Type: Является абстрактным комплексным XML-типом данных, супертипом различных расширений класса.
Тип REVISION_TYPE_Type: Является строкой (xs:string XML-диаграммы), представляющей значения, которые допускаются для данной редакции. Эта строка не должна содержать более трех символов.
Тип VERSION_TYPE_Type: Является строкой (xs:string XML-диаграммы), представляющей значения, которые допускаются для данного варианта. Эта строка должна содержать только цифры, число которых не должно превышать 9.
Определения внешних типов:
Тип cat:catalogue_Type: Является перечнем экземпляров класса как множества ссылок на свойства и пары значений.
Примечание 2 - Тип cat:catalogue_Type определен в ИСО/ТС 29002-10 на коммуникативный формат обмена данными.
Тип CLASSIFICATION_Type: См. 7.2.1.
Тип EXPLICIT_FUNCTIONAL_MODEL_CLASS_EXTENSION_Type: См. 7.4.
Тип EXPLICIT_ITEM_CLASS_EXTENSION_Type: См. 7.3.
Тип RECOMMENDED_PRESENTATION_Type: См. 7.2.2.
Перечень ограничительных условий:
Каждый экземпляр класса, определяющий семейство класса, на которое даны ссылки в совокупности элементов instance_identification, никогда не должен быть связан с нулевым значением.