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"
                 />
Constraint
Constraints on the values of settings within the relationship or on objects at the other end of the relationship.
<xs:element name="RelationshipConstraint" type="RelationshipConstraint" />
RelationshipConstraint
Defines a relationship constraint that will be evaluated in the context of the target object instance.
<xs:element name="ObjectConstraint" type="ObjectConstraint" />
ObjectConstraint
Defines an object constraint that is evaluated in the context of the matched relationship instance.
<xs:element name="ConstraintGroup" type="ConstraintGroup" />
ConstraintGroup
Defines a nested ConstraintGroup.
<xs:element name="RelationshipConstraintGroup" type="RelationshipConstraintGroup" />
RelationshipConstraintGroup
Defines a nested RelationshipConstraintGroup.
<xs:element name="ObjectConstraintGroup" type="ObjectConstraintGroup" />
ObjectConstraintGroup
Defines a nested ObjectConstraintGroup.
</xs:choice> <xs:attribute name="RelationshipDefinition" type="QualifiedName" use="required" />
RelationshipDefinition
Defines the relationships that will be matched.
<xs:attribute name="TargetRole" type="RolesList" use="required" />
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="TargetObjectDefinition" type="QualifiedName" use="optional" />
TargetObjectDefinition
Optional name of the definition for the object on the other side of the relationship.
<xs:attribute name="MinOccurs" type="MinOccurs" use="optional" />
MinOccurs
Minimum number of relationship instances that this constraint can match.
<xs:attribute name="MaxOccurs" type="MaxOccurs" use="optional" />
MaxOccurs
Maximum number of relationship instances that this constraint can match.
<xs:attribute name="DelegationAware" type="boolean" use="optional" />
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.
</xs:extension> </xs:complexContent> </xs:complexType>
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.