Директива шаблона элемента
Директива *Member
также является конструкцией. Значением этой конструкции является имя шаблона. Это имя шаблона должно отображаться в списке *Члены шаблона узла (т. е. шаблона, в котором находится рабочая среда) или в списке *Members, от которых шаблон узла наследуется (прямо или косвенно). Конструкция *Member
может содержать необязательный дочерний атрибут с именем *Выполняется.
*Выполняется указывает количество экземпляров, привязанных к шаблону, указанному в рабочей среде *Members, которое может отображаться в экземпляре шаблона узла. Экземпляры, которые привязываются к шаблонам, являются производными от шаблона, именованного рабочей средой *Members, будут считаться вхождением экземпляра этого шаблона. Если количество таких вхождений находится в диапазоне, определяемом директивой *Occurs , директива *Member
будет иметь значение TRUE; в противном случае директива будет оцениваться как FALSE. На шаблоны атрибутов или конструкций (*Type: CONSTRUCT или *Type: ATTRIBUTE) можно ссылаться в конструкции *Member
. Конструкция *Member
, которая отображается в директиве *Production, отличается от директивы *Members, которая отображается как дочерний элемент директивы *Template. *Member
является конструкцией и имеет единственное число, а *Members является атрибутом и имеет множественное число (заканчивается буквой "s").
*Выполняется указывает количество экземпляров, привязанных к шаблону, который определяется рабочей средой *Members. Можно указать определенное значение или диапазон значений с помощью пары чисел, разделенных дефисом (-). Если указан диапазон, первое число должно быть меньше второго. Отрицательные значения не допускаются. Допустимый диапазон включает указанные конечные точки. Допускается значение 0. Подстановочный знак GPD (*) разрешен и соответствует любому значению в диапазоне от 0 до бесконечности. Если подстановочный знак (*) отображается как верхняя конечная точка диапазона, верхний предел отсутствует. Если подстановочный знак отображается в качестве нижнего предела диапазона, верхний предел игнорируется. Число или пара чисел можно заключить в квадратные скобки ([]) для визуального выделения.
Если атрибут *Выполняется не указан в конструкции *Member
, предполагается диапазон от 0 до бесконечности (т. е. [0-*]), аMember
* production всегда будет иметь значение TRUE.
Если в рабочей среде *Member
присваивается имя шаблону конструкции, число *Выполняется не различает различные экземпляры конструкции. Таким образом, три разных экземпляра конструкции, привязанные к одному шаблону, будут иметь одинаковое число вхождений, как три идентичных экземпляра одной конструкции.
Например, если оба объекта PaperSize и InputSlot привязаны к одному шаблону и если параметр *Feature: PaperSize определен дважды, число вхождений будет двумя. Если параметр *Feature: PaperSize определен один раз, а *Feature: InputSlot определен дважды, число вхождений будет равно трем.
В директиве *Member
не допускаются другие атрибуты или конструкции.
Если директива *Members находится в сочетании с процессом привязки шаблона, директива *Members пытается связать шаблон с каждым дочерним элементом, появляющимся в конструкции. Но он не указывает, сколько раз может появляться дочерний элемент, или не указывает зависимости между дочерними элементами или между ними. Директива *Production отвечает за указание этих требований. Обратите внимание, что директива *Members по-прежнему требуется, даже если вы используете директиву *Production.