An association is a specific relationship between objects. Associations can be used to relate two or more NIEM properties to each other, especially when characteristics of the relationship itself are needed.
| Variable | Description | Usage | NDR Reference | 
|---|---|---|---|
| {$Name} | Name of the association element / type | Required | NDR Rule 7-5: Component naming NDR Section 10.8: Naming Rules | 
| {$Definition} | The definition of the code element / type | Required | NDR Rule 9-12: Simple type has definition NDR Rule 9-25: Complex type has definition NDR Rule 9-36: Element has definition NDR Section 11.6.1: Human-readable documentation | 
| {$ElementName} | Element QName | Required, Repeat element ref line for each object and characteristic of the association | |
| {$ParentAssociationType} | QName of the parent type | Usually "nc:AssociationType". Can also extend "structures:AssociationType" or an existing association type. | |
| {$Min} | The minimum number of allowed element occurrences within the type | ||
| {$Max} | The maximum number of allowed element occurrences within the type | 
<xs:complexType name="{$Name}AssociationType">
    <xs:annotation>
     <xs:documentation>A data type for an association {$Definition}</xs:documentation>  
    </xs:annotation>
    <xs:complexContent>
     <xs:extension base="{$ParentAssociationType}">
        <xs:sequence>
         <xs:element ref="{$ElementName}" minOccurs="{$Min}" maxOccurs="{$Max}"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="{$Name}Association" type="{$Name}AssociationType" nillable="{$Nillable}">
    <xs:annotation>
      <xs:documentation>An association {$Definition}</xs:documentation>
    </xs:annotation>
  </xs:element>