HOPEX UML : HOPEX XML Schemas : Compléments UML : Classes associatives
   
Classes associatives
 
Exemple
Résultat
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.