2.2.5.3 DependencyTypes

The DependencyTypes simple type is used to represent the type of dependency that a cell storage service subrequest has on another cell storage service subrequest. The other cell storage service subrequest is identified by the DependsOn attribute of the SubRequest element. DependsOn is defined in section 2.2.4.5. Depending on the dependency type, a cell storage service subrequest is either processed or not.

 <xs:simpleType name="DependencyTypes">
    <xs:restriction base="xs:string">
      <xs:enumeration value="OnExecute"/>
      <xs:enumeration value="OnSuccess"/>
      <xs:enumeration value="OnFail"/>
      <xs:enumeration value="OnNotSupported"/>
      <xs:enumeration value="OnSuccessOrNotSupported"/>
    </xs:restriction>
 </xs:simpleType>

The value of DependencyTypes MUST be one of the values in the following table.

Value

Meaning

"OnExecute"

Indicates that the subrequest MUST be processed only on the execution of the other subrequest.

If RequestB has an OnExecute dependency on RequestA, the dependency succeeds if RequestA succeeds OR (RequestA failed NOT because an OnSuccess dependency failed AND RequestA failed NOT because an OnFail dependency failed AND RequestA failed NOT because an OnExecute dependency failed)

"OnSuccess"

Indicates that the subrequest MUST be processed only on the successful execution of the other subrequest.

"OnFail"

Indicates that the subrequest MUST be processed only on the failed execution of the other subrequest.

"OnNotSupported"

Indicates that the subrequest MUST be processed only if the other subrequest is not supported.

"OnSuccessOrNotSupported"

Indicates that the subrequest MUST be processed only when one of the following conditions is true:

  • On the successful execution of the other subrequest.

  • If the other subrequest is not supported.