Bonjour.
Je cherche une solution pour convertir au sein d'eclipse un modele uml en schema xml.
J'ai besoin de ce schema pour generer du code c++ permettant de gerer la persistence en xml d'instances de classes definies dans le modele.
Est ce que quelqu'un peux m'expliquer comment je dois m'y prendre pour générer le schéma XML à partir du modèle UML ?
Je donne ci dessous pour info le chemin que j'ai suivi, sans succès, peut être y a t'il plus simple:
1) construction du modele depuis magicDraw, et export de ce modele au format emf uml2.
2) creation d'un projet emf dans eclipse (via "File->New->Project", puis "Eclipse Modeling framework -> EMF Project").
J'importe alors les fichiers "uml2" générés par magicDraw, en choisissant l'option "process all' à l'étape "UML Import" du wizard de creation de projet emf.
A l'étape suivante ("Package Selection"), je sélectionne tous les packages et je ne sélectionne pas de référence vers le générateur "org.eclipse.emf.ecore".
Jusqu'ici tout se passe bien, je me retouve avec un modèle emf cohérent par rapport à mon modèle uml de départ.
Le projet contient un ensemble de fichiers "ecore", dont un fichier "ecore.ecore", qui correspond d'après ce que j'ai compris au méta modèle utilisé au sein d'eclipse.
Lorsque j'essaye de valider ce modèle ecore.ecore par un clic droit -> validate , j'ai un message d'erreur "the required feature'eReferencetype' of 'resolveProxies' must be set".
Les autres fichiers "*.ecore" sont ok.
3) Je me dis que ça n'est pas grave, et je lance l'export du schema en sélectionnant mon modèle puis via le menu "Generator -> export model".
Je choisis ensuite XML Schema à l'étape "Select a model exporter" de l'assistant.
Je choisis un répertoire à l'étape 2 contenant les schémas générés.
Je sélectionne ensuite tous les packages à l'étape 3, sans "Referenced generator model", puis je clique sur "finish".
J'ai un message d'erreur arrivé à cette étape.
ça fini par fonctionner si je relance la génération plusieurs fois.
Je me retrouve alors avec plusieurs fichiers xsd.
Lorsque je tente de valider le schema genere pour "ecore", ils n'est pas valide...
D'avance merci.
Eric.
Partager