The template design requirements include:
Requirement D.1: Placeholders for values
Templates should allow for placeholders (i.e. slots) to be specified, wherever a concept, expression, token or attribute value can be used.
Requirement D.2 Slot names
Templates should allow each slot to be assigned a name, enabling the slot to be referenced outside the slot (e.g. for specifying input data).
Requirement D.3 Slot types
Template slots should be able to be constrained to only permit a specific type of value (e.g. only allowing precoordinated concepts to replace a slot).
Requirement D.3: Template value constraints
Templates slots should be able to be constrained to only permit values from a specific value set (e.g. only allowing expressions that satisfy a given expression constraint).
Requirement D.4: Repeatability of template components
Templates should support a way of indicating how many times each focus concept, relationship group and attribute value pair can be repeated when the template is populated.