The inverse of %mandatory
is %prohibit
.
Prohibited fields may not occur in any record of the given type.
The usage is:
%prohibit: field1 field2 ... fieldN
The field names are separated by one or more blank characters.
Fields listed in a %prohibit
entry are
forbidden; i.e. no field with this name should be present
in any record of this kind.
Again, records violating this restriction
are invalid.
Several %prohibit
fields can appear in
the same record descriptor.
The set of prohibited fields
is the union of all the entries.
For example, in the following
database both Id
and id
are prohibited:
%rec: Entry %prohibit: Id %prohibit: id
One possible use case for prohibited fields arises
when some field name is reserved for some future
use.
For example, if we were organizing a sports competition, we would want
competitors to register before the event.
However a competitor’s result
should not and cannot be entered
before the competition takes place.
Initially then, we would change the record
descriptor as follows:
%rec: Contact %mandatory: Name %prohibit: result
At the start of the event, the %prohibit
line can be deleted, to
allow results to be entered.