MCD et XML

3 Une première approche

Comme pour le passage vers le modèle relationnel, la première phase de ce processus de transformation s'intéresse aux entités.

EAP Mariages - les entités

La première étape consiste donc à produire un élément par entité. Chaque entité "E" produit un élément XML "E" et un élément "liste-E". "liste-E" contient simplement un nombre indéterminé de "E": "liste-E -> E*". Cet élément n'est pas indispensable en soi, mais structure mieux le document. Chacun des éléments "liste-XX" est enfin placé dans un élément, racine du document, que nous nommerons ici "SI". L'ordre des "liste-XX" dans SI importe peu. Éventuellement, il peut dépendre des traitements à effectuer sur le document, en particulier dans le cas de l'utilisation de l'API SAX.

Ensuite, les propriétés de chaque entité "E" se traduisent soit par un attribut de l'élément associé soit par un élément contenu dans l'élément associé à "E". Le choix dépend de l'information associée aux propriétés (taille par exemple).

Il nous reste maintenant à traiter le cas des identifiants des entités. Deux cas se présentent : l'identifiant correspond à une seule propriété ou à plusieurs propriétés. Dans le premier cas, le type de l'attribut associé sera ID. Ceci demandera peut-être un ajustement de la structure pour qu'il respecte la syntaxe des noms XML. Dans le second cas, il faudra créer un nouvel attribut qui sera construit à partir des propriétés de l'identifiant tout en respectant les noms XML.

Dans le cadre de notre exemple fil-rouge, cela donnera :

EAP Mariages - les entités en DTD

Ensuite, il faut s'occuper des associations.

EAP Mariages - les entités et les associations

Le principe de base reste le même que pour les entités. Pour chaque association "S", sont créés les éléments "S" et "liste-S -> S*". Les propriétés de "S" sont converties soit en attribut soit en élément contenu de l'élément "S".

Les attributs "ID" des éléments associés aux entités participant à l'association deviennent des attributs de type "IDREF" dans l'élément attaché à cette association. Au final, ceci donnera sur l'exemple du mariage :

EAP Mariages - les entités et les associations en DTD

Ce qui donne en DTD :

EAP Mariages - DTD version 1

Cette méthode, bien que permettant de mémoriser toutes les informations attendues, n'est pas satisfaisante. En effet, le modèle produit ne permet pas d'effectuer certains contrôles issus des cardinalités et des contraintes sur le schéma EAP d'origine.

Retour