Conditional Statements
Conditional statements are logically joined together and are a part of a collection specification.. Each conditional statement is composed of a RODM field, a RODM class, a value (or optionally), a set of values, and an operation. For each object within the specified class, the specified field is compared to the value or list-of-values using the operation. If the operation compares successfully, then the object matches the condition. Otherwise, it fails the condition. The list of all objects that compare successfully with the condition are the result of the conditional statement. These objects are of RODM type ObjectList.
{Class/Field} operation {Value} ==> list_of_objectsFor
each object in the given Class, take the Field value of the object
and compare it to Value using the comparison operation. If the values
compare successfully, place the object in the output list_of_objects.The {Value} term can also be a reference to a set of values, much like the {Class/Field} term indirectly references all objects on the Class. Each value is listed directly in the collection specification. When more than one value is listed in the {Value} term, the Field value of an object is compared against each value in the value list. One or more of the values in the value list must compare successfully for the object to be added to the list_of_objects.
{Value1} operation {Value2} ==> list_of_objectsWhere both Value1 and Value2
can be either a single value or a value list. Value1 refers to the
value of the Field on each object in the Class. Value2 refers to the
list of values directly specified in the conditional statement. This
generic syntax is useful when complex conditional statements are described.In the case of the simple collection specification, the list_of_objects that results becomes the object list for either the ContainsObjects field or the AggregationChild/IsPartOf fields of the collection creation object. In effect, this list_of_objects is the final output from the collection specification