Templates may be open, closed or restricted. These restrictions determine which data types may appear in the immediate hierarchy of a data object defined by the template. An open template has no restrictions, a closed template rejects all data types and a restricted template allows a named list of data types. The syntax is as follows
Three periods enclosed by square brackets indicate an open template
[ ((( ]
A comma separated list of named data types followed optionally by their uuids enclosed by square brackets indicates a restricted template
[ { data-type [ UUID ] , }... ]
The absence of either of the above indicates a closed template.