Dela via


Exempel på malldirektiv

I följande exempel visas en enkel produktion.

  *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] }
        }
  }

De konstruktionsinstanser som är bundna till värdmallen av den här produktionen kan innehålla någon av följande kombinationer:

  • Inga instanser av antingen DEFAULT_OPT eller GENERIC_OPTION.

  • En eller flera instanser av GENERIC_OPTION och inga instanser av DEFAULT_OPT.

  • En eller flera instanser av GENERIC_OPTION och en eller flera instanser av DEFAULT_OPT.

  • Konstruktionsinstanserna kan inte ha en eller flera instanser av DEFAULT_OPT utan minst en instans av GENERIC_OPTION.

Om värdmallen ärver från andra mallar utvärderas även de produktioner som definieras i de ärvda mallarna och måste också vara TRUE för att produktionen i värdmallen ska kunna utvärderas till TRUE.