RelationshipConstraint complex type [SDM]
Platform SDK: System Definition Model Overview |
RelationshipConstraint Complex Type
Note: This documentation is preliminary and is subject to change.
Defines the elements that constrain the relationships in which an object can participate.
A relationship constraint identifies the relationship definition, optionally the object definition of the instance at the other end of the relationship, and the cardinality of the relationship. The constraint is given a name so that it can be identified in error messages. The body of the relationship constraint contains nested constraints that further refine this constraint.
<xs:complexType name="RelationshipConstraint"> <xs:complexContent> <xs:extension base="StructuralConstraint" > <xs:choice minOccurs="0" maxOccurs="unbounded" > <xs:element name="Constraint" type="ConstraintMember" /><xs:element name="RelationshipConstraint" type="RelationshipConstraint" />
- Constraint
- Constraints on the values of settings within the relationship or on objects at the other end of the relationship.
<xs:element name="ObjectConstraint" type="ObjectConstraint" />
- RelationshipConstraint
- Defines a relationship constraint that will be evaluated in the context of the target object instance.
<xs:element name="ConstraintGroup" type="ConstraintGroup" />
- ObjectConstraint
- Defines an object constraint that is evaluated in the context of the matched relationship instance.
<xs:element name="RelationshipConstraintGroup" type="RelationshipConstraintGroup" />
- ConstraintGroup
- Defines a nested ConstraintGroup.
<xs:element name="ObjectConstraintGroup" type="ObjectConstraintGroup" />
- RelationshipConstraintGroup
- Defines a nested RelationshipConstraintGroup.
</xs:choice> <xs:attribute name="RelationshipDefinition" type="QualifiedName" use="required" />
- ObjectConstraintGroup
- Defines a nested ObjectConstraintGroup.
<xs:attribute name="TargetRole" type="RolesList" use="required" />
- RelationshipDefinition
- Defines the relationships that will be matched.
<xs:attribute name="TargetObjectDefinition" type="QualifiedName" use="optional" />
- TargetRole
- The direction of the relationship using the name of the role in which the object at the other end of the relationship participates.
<xs:attribute name="MinOccurs" type="MinOccurs" use="optional" />
- TargetObjectDefinition
- Optional name of the definition for the object on the other side of the relationship.
<xs:attribute name="MaxOccurs" type="MaxOccurs" use="optional" />
- MinOccurs
- Minimum number of relationship instances that this constraint can match.
<xs:attribute name="DelegationAware" type="boolean" use="optional" />
- MaxOccurs
- Maximum number of relationship instances that this constraint can match.
</xs:extension> </xs:complexContent> </xs:complexType>
- DelegationAware
- true if the constraint will see delegation relationships. false if delegation relationships will be rolled up and only the results of this rollup will be exposed to the constraint. The default is false.
- RelationshipConstraint
Child Elements
Element | Type | Description |
---|---|---|
Constraint | ConstraintMember | Constraints on the values of settings within the relationship or on objects at the other end of the relationship. |
ConstraintGroup | ConstraintGroup | Defines a nested ConstraintGroup. |
ObjectConstraint | ObjectConstraint | Defines an object constraint that is evaluated in the context of the matched relationship instance. |
ObjectConstraintGroup | ObjectConstraintGroup | Defines a nested ObjectConstraintGroup. |
RelationshipConstraint | RelationshipConstraint | Defines a relationship constraint that will be evaluated in the context of the target object instance. |
RelationshipConstraintGroup | RelationshipConstraintGroup | Defines a nested RelationshipConstraintGroup. |
Attributes
Name | Type | Description |
---|---|---|
DelegationAware | boolean | true if the constraint will see delegation relationships. false if delegation relationships will be rolled up and only the results of this rollup will be exposed to the constraint. The default is false. |
MaxOccurs | MaxOccurs | Maximum number of relationship instances that this constraint can match. |
MinOccurs | MinOccurs | Minimum number of relationship instances that this constraint can match. |
RelationshipDefinition | QualifiedName | Defines the relationships that will be matched. |
TargetObjectDefinition | QualifiedName | Optional name of the definition for the object on the other side of the relationship. |
TargetRole | RolesList | The direction of the relationship using the name of the role in which the object at the other end of the relationship participates. |
Remarks
There are two possibilities for the role you select in any given constraint, depending on the relationship.
- If the relationship (the RelationshipDefinition attribute on the <RelationshipConstraint> element) is a HostingDefinition, the target role can only be either Host or Guest.
- If the relationship is a ContainmentDefinition, the target role can only be either Parent or Member.
- If the relationship is a DelegationDefinition, the target rolse can only be either Proxy or Delegate.
- If the relationship is a CommunicationDefinition, the target role can only be either Client or Server.
- If the relationship is a ReferenceDefinition, the target role can be either Source or Dependent.
See Also
SystemDefinitionModel Schema Complex Types
Last updated: June 2005 | What did you think of this topic? | Order a Platform SDK CD |
© Microsoft Corporation. All rights reserved. Terms of use. |