Eclipse Community Forums - RDF feed
https://www.eclipse.org/forums/
Eclipse Community Forums[Acceleo3] How to process XML models?
https://www.eclipse.org/forums/index.php/mv/msg/208548/668100/#msg_668100
I need to use an XML file as a model. I've imported the XSD, and have successfully (i.e., the editor context-sensitive help is correct) used it as a metamodel in my .mtl file (in the module statement).
What I can't figure out is how to use the .xml file as input. I thought that there would be tooling that would take an XSD-based metamodel and a schema-compliant XML file, and create an xmi file. I can't find any. What should I be doing?]]>Ed Staub2011-05-03T17:53:12-00:00Re: [Acceleo3] How to process XML models?
https://www.eclipse.org/forums/index.php/mv/msg/208548/668126/#msg_668126
Ed Staub2011-05-03T21:01:42-00:00Re: [Acceleo3] How to process XML models?
https://www.eclipse.org/forums/index.php/mv/msg/208548/668189/#msg_668189
''Bonjour,
Tu essais de générer du code avec un métamodèle dit dynamique (c'est à dire un métamodèle qui n'est pas déployé dans un plugin Eclipse mais qui est dans le workspace dans un projet à côté du générateur), Ce système comporte maheureusement des bugs que nous sommes en train de régler pour Acceleo 3.1.0 qui sortira le mois prochain. Le correctif sera disponible dans la prochaine version béta d'Acceleo 3.1 M7 qui sortira mardi ou mercredi la semaine prochaine. La béta sera disponible par l'update site des nightly build Acceleo : http://download.eclipse.org/modeling/m2t/acceleo/updates/nig htly/3.1
Le mieux pour travailler dans ce genre de système est de déployer le métamodèle (le fichier ecore) dans un Eclipse. Le plus simple dans le cadre d'un projet est de lancer une nouvelle instance d'Eclipse après avoir déployé le métamodèle.
1- crée un projet de plugin
2- colle ton .ecore dedans
3- crée un EMF generator model pour le fichier ecore
4- ouvre le genmodel, clic sur la racine de ton ecore dans le genmodel et fait generate model puis generate editor et generate edit (tu peux customiser où ce code sera généré dans les properties du genmodel pour celà ouvre la vue Properties)
5- clic droit sur ton projet de plugin -> run as Eclipse Application
un nouvel eclipse est lancé, ton métamodel est déployé dans ce nouvel eclipse.
Dans le nouvel Eclipse tu crées un projet Acceleo. Lors du choix du métamodel à utiliser, tu ne choisis pas Ecore (http://www.eclipse.org/2002/Ecore) mais bien l'uri de ton métamodèle (uri que tu as renseigné dans le package racine de ton ecore)
Pour créer ton modèle, tu n'as pas besoin de faire une dynamique instance mais tu fais New -> Other -> Example EMF Model Creation Wizards -> le nom de ton métamodèle.
Ton métamodèle est disponible dans le wizard de création de nouveau fichier car tu as demandé la génération de edit et editor. Tu peux tout customiser (nom des menus etc) grâce au genmodel (comme l'extension de tes modèles... xmi étant vraiment pour les instances dynamiques).
À partir de là, tu as ton générateur, ton modèle, tu peux donc générer ton code. Bien évidemment, lancer un nouvel eclipse est un peu génant, il est donc préférable d'installer son métamodèle dans un Eclipse. Pour celà après l'étape 4, tu crées un projet de feature pour lequel tu sélectionnes tes projets de plugin contenant le code de ton métamodèle (model/edit/editor). Puis tu fais export as executable plugin and feature. Dans un nouvel Eclipse tu installes alors ta feature. Tu n'auras plus qu'à travailler dans ce nouvel Eclipse.
Dans tous les cas, tout ce que j'ai expliqué ici rapidement est expliqué plus en détail dans ce tutoriel sur EMF : http://www.vogella.de/articles/EclipseEMF/article.html
Si tu suis ce tutoriel, après l'étape 5.4 edit your model, tu peux créer ton générateur Acceleo dans le nouvel eclipse.
Si tu désires installer ton générateur Acceleo plus tard dans un nouveau projet, tu peux suivre les instructions situes ici : http://stephanebegaudeau.tumblr.com/post/4044822578/from-an- acceleo-code-generator-to-an-eclipse-plugin
'']]>radwane 2011-05-04T12:29:10-00:00Re: [Acceleo3] How to process XML models?
https://www.eclipse.org/forums/index.php/mv/msg/208548/668233/#msg_668233
Ed Staub2011-05-04T15:34:55-00:00Re: [Acceleo3] How to process XML models?
https://www.eclipse.org/forums/index.php/mv/msg/208548/668800/#msg_668800
this is my file generator.mtl
[comment encoding = UTF-8 /]
[module generate('http://www.eclipse.org/uml2/3.0.0/UML')/]
[template public generate(aClass : Class)]
[file (aClass.name.concat('.java'), false)]
public class [aClass.name.toUpperFirst()/] {
[for (p: Property | aClass.attribute) separator('\n')]
private [p.type.name/] [p.name/];
[/for]
[for (o: Operation | aClass.ownedOperation) separator('\n')]
public [o.type.name/] [o.name/]() {
// TODO should be implemented
}
[/for]
}
[/file]
[/template]
its ok if i choise input file .uml
but if i want to use my model .xmi i must change this ligne
[module generate('http://www.eclipse.org/uml2/3.0.0/UML')/]
but i dont know what i must write ?]]>radwane 2011-05-07T14:37:11-00:00