Customizing the metamodel : Keywords for USRPROPS : REFPROP
  
REFPROP
A Property can only be used once in a definition (unless it is surrounded by #ifdefs). If the user wants to use the same property more than once in a definition, they must use the Control and RefProp keywords. For this reason, the Control and RefProp keywords are often used in conjunction with TESTPROCs.
For a Control to be used, there must be an initial reference to the Property that the Control references, at the top of the definition. The REFPROP keyword is used in conjunction with the Control keyword.
Example
Definition "Index" { CHAPTER "Modeling Properties" { TESTPROC TestPropertyNotValue TESTPROPERTY "DBMS" TESTSTRING { "ORACLE 8" } }PROPERTY "Primary Key" {EDIT Boolean LENGTH 1 DEFAULT "F" READONLY }PROPERTY Unique {EDIT Boolean LENGTH 1 VALUESCRIPT ProcessIndexUnique DEFAULT "F" }PROPERTY Clustered {EDIT Boolean LENGTH 1 DEFAULT "F" } ...
CHAPTER "Modeling Properties " { TESTPROC TestPropertyValue TESTPROPERTY "DBMS" TESTSTRING { "ORACLE 8" } }Control "Primary Key" { REFPROP "Primary Key" }Control Unique { REFPROP "Unique" }Control Clustered {REFPROP "Clustered"} ... }