Customizing the metamodel > Keywords for USRPROPS > REFPROP
  
REFPROP
A Property can be used only one time in a definition (unless it is surrounded by #IFDEFs). If the user wants to use the same property more than one time 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"}
...
}
See also
CONTROL
Keywords for USRPROPS