ecore konforme xml datei erstellen

Status
Nicht offen für weitere Antworten.

Spot84

Aktives Mitglied
Hallo!
ich habe bisher sehr wenig mit emf gemacht und hätte daher einmal eine grundlegende Frage.
Ich habe ein Modell in einer Objektstruktur erzeugt. Dieses Modell würde ich nun gerne als XML-Datei abspeichern, das zu einem Metamodell(ecore) konform sein soll. Diese XML-Datei kann dann von einem Editor eingelesen werden und durch einen mit Hilfe von GMF programmierten Modelleditor grafisch dargestellt werden. Das Metamodell also die ecore-Datei liegt bereits vor.

Kann mir da villeicht wer sagen wie ich am besten vorgehe und was ich mir anschauen solte um die XML-Datei zu erzeugen. Gibt es villeicht ein Tutorial oder ähnliches? Ich hab mir auch in einer Bibliothek das Buch "EMF-Eclipse Modelling Framework" geholt, allerings weiss ich nicht wirklich unter welchem Punkt ich da schauen muss..

Vielen Dank!

Gruß, spot
 
Tut mir leid, das verstehe ich nicht. Du willst selbst eine Ecore Datei erzeugen, oder was meinst du mit konform?

Dieses Modell würde ich nun gerne als XML-Datei abspeichern, das zu einem Metamodell(ecore) konform sein soll. Diese XML-Datei kann dann von einem Editor eingelesen werden und durch einen mit Hilfe von GMF programmierten Modelleditor grafisch dargestellt werden
Um dein Modell mit GMF darzustellen muss deine Modellinstanz doch nicht als Ecore-XML gespeichert werden. GMF braucht nur das ecore das dein Modell beschreibt zur Design Time. Zur Laufzeit kann das Modell dann herkommen wo es will (XMI, XML, textfile, Datenbank, binärdatei,...)
 
Mhh.. also erstmal nein, ich will keine Ecore Datei erstellen. Diese liegt schon vor.
So wie ich es verstanden habe ist in der Ecore Datei das Metamodell für spezielle Modellbäume beschrieben.
Weiterhin wurde mit GMF ein Editor geschrieben der solche Modellbäume einlesen und darstellen kann. Die Dateien die er dabei einliest sind XML-Dateien.

Mein Programm erzeugt jetzt auch solche Bäume aber bisher eben nur im Code als Objektstruktur. Was ich jetzt machen will ist aus dieser Objektstruktur eine XML-Datei zu erzeugen die von dem Editor eingelesen und dargestellt werden kann.

Hierfür dachte ich, dass diese XML-Dateien konform mit dem Metamodell(also der ecore) sein müssen.

Ich weiss allerdings nicht wie ich diese XML-Dateien erstellen kann..

Um dein Modell mit GMF darzustellen muss deine Modellinstanz doch nicht als Ecore-XML gespeichert werden. GMF braucht nur das ecore das dein Modell beschreibt zur Design Time. Zur Laufzeit kann das Modell dann herkommen wo es will (XMI, XML, textfile, Datenbank, binärdatei,...)

Ja das ist klar. Der Editor wurde ja auch schon in GMF umgesetzt und nutzt dafür auch die bereits vorhandene Ecore-Datei. Ich will jetzt halt eine solche XML-Datei erstellen die zur Laufzeit vom Editor geladen werden kann.
 
oder kann es villeicht sein das ich garkein EMF dafür brauche?
Das ich also einfach einen xml-Writer nehme der mir die xml(oder xmi)-Dateien gemäß dem Metamodell schreibt?
 
Wenn du sagst du erstellst programmatisch die Objektbäume, dann meinst du das du dir erzeugten EClasses verwendest, richtig? In diesem Fall instanzierst du eine Resource (spezifisch, oder die generische XML/XMI Resource, je nachdem was du brauchst).
Dann setzt du den Content und speicherst -> fertig.
Pseudocode:

Java:
MyEObject model = createSomeModelContent();
Resource resource = new MyResourceImpl();
resource.getContents().add(model);
resource.save(new FileOutputStream(new File("blubb.xml")));
 
Hallo Wildcard!
erstmal sorry das ich jetzt erst zurück schreibe aber ich war leider ein paar Tage vom Internet getrennt. 🙁
Wenn du sagst du erstellst programmatisch die Objektbäume, dann meinst du das du dir erzeugten EClasses verwendest, richtig?

Nein nein, ich hab mir einfach ein eigenes Javaprogramm geschrieben das keine Eclasses verwendet oder sowas.Die Objektstruktur hab ich mir selbst überlegt. Ich kann dieses Modell in meinem Programm auch beliebig durchgehen also alle Knoten, Attribute etc.. durchlaufen. Das Modell(also eine Instanz des Metamodells(ecore)) würde ich nun gerne als XML-Datei ablegen. Damit dann ein bereits bestehender Editor diese XML-Dateien einlesen kann, muss meine XML-Datei aber gültig zum Metamodell sein.
Der Editor wurde als Eclipse Plugin geschrieben und kann halt XML-Dateien einlesen die zum Metamodell kompatibel sind.
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben