1.5 Document XMI
1.5.1 Historique
Jon Bosak, de Sun Microsystems, compose en 1996 un groupe de
travail destiné à proposer une version simplifiée de
SGML1, un langage de description de documents structurés. De cette
entreprise naît XML (Extensible Markup Language). Standardisé en
1998 par le World Wide Web Consortium, XML est aujourd'hui
considéré comme le format de référence de la
publication et des échanges, et joue notamment un rôle crucial
dans la diffusion de documents sur Internet.
1.5.2 Concepts de base
Un fichier XML [Timothy 2002]ne tient pas compte de la mise en
forme, mais seulement du contenu. Un système de balises permet de
décrire les éléments de structure du document, ainsi que
les relations entre ces éléments. Par exemple on peut, comme
à la figure 1.4, décrire l'état civil d'une personne.
<EtatCivile>
<Nom>Heraguemi</Nom> <Prenom>Kamel eddine
</Prenom> <Naicence>
<Date>
<Jour>30</Jour>
<Moi>05</Moi>
<Annee>1989</Annee>
</Date> </Naicence>
</EtatCivile>
|
Figure 1.6 - Exemple de document XML.
Chaque balise peut disposer d'un ou plusieurs attributs. Une
balise n'a pas de contenu textuel, on peut simplifier l'écriture
<Balise> </Balise> en <Balise/> [W3C].
1.5.3 Le standard XMI
1.5.3.1 Principe de fonctionnement
L'extension XMI (XML Métadata Interchange) [XMI2003]
propose un format standard permettant d'exprimer les concepts de la
modélisation objet. Pour transcrire les structures de graphe,
très répandues dans ce domaine, on a recours à un
mécanisme d'identifiants et de références à ces
identifiants (car un document XML a les caractéristiques d'un arbre).
Ainsi, il est possible d'encoder un modèle UML dans un fichier au format
XML [OMG]. Les figures 1.7 et 1.8 présentent l'exemple d'un diagramme de
classes élémentaire comportant deux classes et une association,
puis sa transcription au format XMI.
Figure 1.7 - Diagramme de classes UML.
Figure 1.8 - Transcription au format XMI du diagramme de
figure 1.6.
1.5.3.2 Le format XMI
Si le format XMI constitue une norme de l'Object Management
Group, chaque outil de modélisation UML en fait une
interprétation personnelle. Ainsi, certains détails varient (le
nom des balises, le choix de placer une information comme attribut ou comme
contenu d'un noeud), rendant impossible à l'heure actuelle
l'échange de fichiers XMI entre deux outils différents [XML].
1.5.3.4 Structure générale d'un
document
La racine de tout document est une balise XMI, ayant
comme attributs la version du standard XMI utilisé, ainsi que la date de
création du fichier. À l'intérieur de cette balise XMI, on
trouve une balise XMI.header, permettant d'identifier le modèle
UML, et une balise XMI.content. Cette dernière contient
principalement une balise Diagram renfermant toutes les informations
liées à l'interface graphique (position des symboles, polices
utilisées...), et une balise Model concernant le modèle UML en
luimême. C'est au sein de cette balise Model que sont transcrits les
différents diagrammes UML[XML].
|