Relationship

A relationship is a connection between any two model elements. An example of where a relationship would be used can be seen in figures 1 and 2. In each of those examples, the arrows between the nodes have relationships defined. A relationship is defined as follows:

<xsd:complexType name="CT_Cxn>
  <xsd:attribute name="modelId" type="ST_ModelId" use="required" />
  <xsd:attribute name="type" type="ST_CxnType" use="optional" 
    default="parOf" />
  <xsd:attribute name="srcId" type="ST_ModelId" use="required" />
  <xsd:attribute name="destId" type="ST_ModelId" use="required" />
  <xsd:attribute name="srcOrd" type="xsd:unsignedInt" use="required" />
  <xsd:attribute name="destOrd" type="xsd:unsignedInt" use="required" />
  <xsd:attribute name="parTransId" type="ST_ModelId" use="optional" 
    default="0" />
  <xsd:attribute name="sibTransId" type="ST_ModelId" use="optional" 
    default="0" />
  <xsd:attribute name="presId" type="xsd:string" use="optional" 
    default="" />
</xsd:complexType>

The relationship, as with the element, has a unique id associated with it referred to as the @modelID. The @srcId and @destId attributes refer to ids of the source element and destination element, respectively, that this relationship is defined between.

The @srcOrd and @destOrd refer to the ordinality of siblings for a given connection. For example, if a node had three siblings, A, B, and C, then the @srcOrd would define if they were to show up as A, B, C, or perhaps B, C, and then A.

The @presId attribute contains the presentation that is associated with this particular relationship.