Classes associatives
Les classes associatives représentent l'association elle-même et en précisent les caractéristiques.
Pour créer une classe associative :
1. Ouvrez un diagramme de Classes, et glissez les deux classes associées dans le diagramme.
2. Créez une nouvelle classe.
3. A l’aide du bouton Lien, créez un lien entre la classe et l’association.
4. La classe d'association est reliée à l'association par un trait pointillé.
Les attributs de classes associatives sont utilisés lors de la construction d'un schéma : ils correspondent aux attributs de l'association qui ne sont utiles que dans le contexte de l'élément.
Lors de la génération des schémas, les attributs des classes associatives migrent vers la balise que la classe associée définit.
Exemple
La classe "Ouvrage" définit une balise contenant un sous-élément "Résumé".
Les balises basées sur la classe "Magazine" disposent également du résumé puisque la classe de définition hérite d’"Ouvrage".
D'autre part, les magazines peuvent contenir des résumés d'ouvrage (par exemple dans une rubrique de critique littéraire).
Dans ce contexte d'utilisation, les résumés d'ouvrages basés sur la classe "Résumé" se voient pourvus d'attributs supplémentaires : "Appréciation lecteurs", "Appréciation éditeur". Ces attributs additionnels sont modélisés par la classe associative "Appréciation".
Les schémas ci-dessous montrent la différence entre la balise "Résumé" générée pour les livres et la balise "Résumé d'ouvrage" générée pour les magazines.
XSD
<xsd:ComplexType name="Resume" >
<xsd:attribute name="id" type="xsd:ID"/>
</xsd:ComplexType>
<xsd:ComplexType name="Resumedouvrage">
<xsd:attribute name="id" type="xsd:id"/>
<xsd:attribute name="Ouvrage" type="xsd:idref" use="required"/>
<xsd:attribute name="Appreciationlecteurs" use="required">
<xsd:enumeration value='Tresbon'/>
<xsd:enumeration value='Bon'/>
<xsd:enumeration value='Moyen'/>
<xsd:enumeration value='Mauvais'/>
<xsd:enumeration value='Tresmauvais'/>
</xsd:attribute>
<xsd:attribute name=" Appreciationediteur" use="required">
<xsd:enumeration value='Tresbon'/>
<xsd:enumeration value='Bon'/>
<xsd:enumeration value='Moyen'/>
<xsd:enumeration value='Mauvais'/>
<xsd:enumeration value='Tresmauvais'/>
</xsd:attribute>
</xsd:ComplexType>
Résultat
Schéma | Diagramme | Document XML |
| | <Magazine genre="littérature" Frequence ="Hebdomadaire" ReferenceBibliographique="125" ISBN="1" Auteur="Jacques" <Resumedouvrage Appreciationlecteur = "Bon" Appreciationediteur = "Moyen"</ResumedOuvrage></Magazine> |
Pour visualiser la classe associative dans l'éditeur de schémas XML :

Cliquez sur le bouton
Affichage des types 
et ouvrez l'association sur laquelle est définie la classe associative.