Member 模板指令
*Member
指令也是构造。 此构造的值是模板名称。 此模板名称必须出现在主机模板 (即生产位于) 中的模板或主机模板直接或间接继承自) (的成员列表中。 *Member
构造可以包含名为 *Occurs 的可选子属性。
*发生 指定绑定到 *Members 生产指定的模板的实例数,这些实例可能显示在主机模板的实例中。 绑定到模板的实例派生自由 *Members 生产命名的模板,将计为该模板实例的出现次数。 如果此类出现次数在 *Occurs 指令定义的范围内,*Member
指令的计算结果将为 TRUE;否则,指令的计算结果为 FALSE。 属性或构造模板 (*类型:CONSTRUCT 或 *类型:ATTRIBUTE) 可以在 *Member
构造中引用。 出现在 *Member
Production 指令中的 * 构造与显示为 *Template 指令子级的 *Members 指令不同。 *Member
是构造,是单数,*Members 是一个属性,是复数 (以字母“s”) 结尾。
*发生 指定绑定到 *Members 生产指定的模板的实例数。 可以使用连字符 (-) 分隔的数字对来指定特定值或指定一系列值。 如果指定了范围,则第一个数字必须小于第二个数字。 不允许使用负数。 允许的范围包括指定的终结点。 允许使用值 0。 允许使用 GPD 通配符 (*) ,并且匹配范围从 0 到无穷大的任何值。 如果通配符 (*) 显示为范围的上限,则没有上限。 如果通配符显示为某个范围的下限,则忽略上限。 数字或数字对可以括在方括号内, ([]) 视觉强调。
如果 * 构造中省略了 *Member
Occurs 属性,则假定范围从 0 到 infinity (即 [0-*]) ,并且 *Member
生产的计算结果始终为 TRUE。
当 *Member
生产为构造模板命名时,*出现的 计数不会区分构造的不同实例。 因此,绑定到同一模板的构造的三个不同实例的出现次数与同一构造的三个相同实例相同。
例如,如果 PaperSize 和 InputSlot 都绑定到同一模板,并且 *Feature: PaperSize 定义两次,则出现次数将为 2。 如果 *Feature: PaperSize 定义一次,*Feature: InputSlot 已定义两次,则出现次数将为 3。
*Member
指令中不允许使用其他属性或构造。
当 *Members 指令与模板绑定过程结合使用时,*Members 指令会尝试将模板与构造中显示的每个子元素相关联。 但它不指定子元素可以显示多少次,也不指定子元素之间或子元素之间的任何依赖关系。 *Production 指令负责指定这些要求。 请注意,即使使用 *Production 指令,仍需要 *Members 指令。