Template Directive Example

The following example shows a simple production.

  *Production: EXACTLY_ONE
  {
        *Production: SATISFY_ALL
        {
            *Member: GENERIC_OPTION {*Occurs: [1-*] }
            *Member: DEFAULT_OPT {*Occurs: [0-*] }
        }
        *Production: SATISFY_ALL
        {
            *Member: GENERIC_OPTION {*Occurs: [0] }
            *Member: DEFAULT_OPT {*Occurs: [0] }
        }
  }

The construct instances that are bound to the host template by this production can contain any of the following combinations:

  • No instances of either DEFAULT_OPT or GENERIC_OPTION.

  • One or more instances of GENERIC_OPTION and no instances of DEFAULT_OPT.

  • One or more instances of GENERIC_OPTION and one or more instances of DEFAULT_OPT.

  • The construct instances cannot have one or more instances of DEFAULT_OPT without at least one instance of GENERIC_OPTION.

If the host template inherits from other templates, the productions that are defined in the inherited templates are also evaluated and must also be TRUE for the production in the host template to evaluate to TRUE.