(A and B) then (C) then (D) then (E and F)
.
(A and B)
, to use "OR" logic so the sets look like this: (A or B) then (C) then (D) then (E and F)
. This functionality can be achieved through the use of the require-all
option. This option defaults to TRUE which is why the "AND" logic is used by default. Setting require-all=false
means only one resource in the set needs to be started before continuing on to the next set.
Example 6.13. Resource Set "OR" logic: Three ordered sets, where the first set is internally unordered with "OR" logic
<constraints> <rsc_order id="order-1"> <resource_set id="ordered-set-1" sequential="false" require-all="false"> <resource_ref id="A"/> <resource_ref id="B"/> </resource_set> <resource_set id="ordered-set-2" sequential="true"> <resource_ref id="C"/> <resource_ref id="D"/> </resource_set> <resource_set id="ordered-set-3" sequential="false"> <resource_ref id="E"/> <resource_ref id="F"/> </resource_set> </rsc_order> </constraints>
Important
require-all=false
makes sense only in conjunction with sequential=false
. Think of it like this: sequential=false
modifies the set to be an unordered set using "AND" logic by default, and adding require-all=false
flips the unordered set’s "AND" logic to "OR" logic.