Was ist der beste Weg, um .xsd-Dateien in .ece-Dateien umzuwandeln? Gibt es dafür ein Eclipse-Plugin?Wie konvertiert man xsd in ecore (EMF)
7
A
Antwort
8
Das ist, was für mich gearbeitet:
- Neu -> Projekt ...
- Eclipse Modeling Framework -> EMF-Projekt
- Modell Importeure:XML Schema
- Modell URIs: [Wählen Sie xsd-Datei]
Um die .ecore-Datei erneut validieren, wenn xsd geändert hat:
- Rechtsklick auf .genmodel -File
- Reload ...
2
Ein Beispiel Klasse . Ich habe die Importe nicht aufgeräumt.
import org.eclipse.emf.common.util.URI;
import java.io.IOException;
import java.util.Collection;
import java.util.Iterator;
import org.eclipse.emf.ecore.*;
import org.eclipse.xsd.*;
import org.eclipse.xsd.ecore.XSDEcoreBuilder;
import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.emf.ecore.resource.ResourceSet;
import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
import org.eclipse.emf.ecore.xmi.*;
import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl;
import org.eclipse.emf.edit.ui.*;
public class Xsd2Ecore {
public static void main(String[] args) {
Xsd2Ecore x2e = new Xsd2Ecore();
x2e.go("UMLVersions/V1.0.0/UML2XMI.xsd", "UMLVersions/V1.0.0/UML2100.xmi");
}
public void go(String sourcename, String targetname) {
System.out.println("Starting");
XSDEcoreBuilder xsdEcoreBuilder = new XSDEcoreBuilder();
ResourceSet resourceSet = new ResourceSetImpl();
Collection eCorePackages = xsdEcoreBuilder.generate(URI.createFileURI(sourcename));
resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap().put("xmi", new XMIResourceFactoryImpl());
Resource resource = resourceSet.createResource(URI.createFileURI(targetname));
for (Iterator iter = eCorePackages.iterator(); iter.hasNext();) {
EPackage element = (EPackage) iter.next();
resource.getContents().add(element);
}
try {
resource.save(null);
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("Finished");
}
}
6
Wenn Sie nicht wollen, ein neues MDT Projekt jedes Mal, wenn Sie ein Schema als Ecore Modell erstellen möchten importieren, dann gibt es auch eine andere Möglichkeit, dies zu tun:
- Neu ->EMF Generator-Modell (in "Eclipse Modeling Framework")
- Press Weiter
- Ordner auswählen und angeben Dateinamen (
- Press Weiter
- Select "XML Schema" als Modell Importeur
- Press Weiter
- Select URI zu Ihrem XSD
- haben muss die Erweiterung "genmodel") (Aktivieren Sie optional das Kontrollkästchen "XML-Schema in Ecore-Map erstellen", wenn Sie eine .xsd2ecore-Kartendatei generieren möchten.
- Drücken Sie auf Weiter
- Wählen Sie alle gewünschten Wurzel Pakete
- Press Fertig
+0
Danke, hat alles für diese :) gesucht. – studgeek
0
Haben Sie versucht,
eclipse –console –noExit –noSplash -data C:\temp\emf-ws
-application org.eclipse.xsd.ecore.importer.XSD2GenModel
Es erzeugt .ecore und .genmodel für Ihren Satz XSDs.
Verwandte Themen
- 1. Getrennte Schnittstellen und Implementierung emf ecore
- 2. Ausführen der EMF-Validierung eines Ecore-Modells außerhalb von Eclipse
- 3. Wie erstellt man Genmodel und Modellcode von ecore programmgesteuert mit EMF-API?
- 4. Wie man 'Java-Code mit Annotationen' aus dem EMF-Modell
- 5. Wie konvertiert man xsd in eine lesbare Dokumentation?
- 6. Angeben einer XOR-Bedingung zwischen zwei EAttribute in EMF
- 7. regenerieren ecore nach Schemaänderungen
- 8. Wie erstelle ich eine generische Liste mit Eclipse EMF?
- 9. Ecore-Referenz
- 10. EProxy-URI löst nicht in ECORE-Modell
- 11. Dynamisch Laden EMF-Modelle
- 12. Wie konvertiert man InputStream in Source?
- 13. Referenz zwischen zwei ecore
- 14. Klassendiagramm von ecore
- 15. Wie EMF lesen - Enhanced Metadateien?
- 16. Wie verwendet man Web-Service mit EMF-Klassen?
- 17. JET-Vorlagen in ein EMF-GMF-Plugin integrieren
- 18. Wie skaliere ich ein EMF (Metafile) in .Net?
- 19. generieren Methode Rückkehr EMF Unmodifiable Liste
- 20. Migrate EMF/GMF basierte Eclipse 3 Plugins RCP
- 21. XSD: Wie man eine polymorphe "Liste" macht?
- 22. Wie konvertiert man altes SQL?
- 23. Zeichnen emf antialiased
- 24. Wo finde ich ein gültiges SVG-XML-Schema (für die Ecore-Generierung)?
- 25. Wie konvertiert man das Datumsformat in vb.net?
- 26. Wie konvertiert man string [] in ArrayList?
- 27. Wie konvertiert man String in Bitset?
- 28. Android Wie konvertiert man Int in String?
- 29. Wie konvertiert man Methodenaufrufe in Postfix-Notation?
- 30. Wie konvertiert man DateTime in String?
In Galileo müssen Sie die Funktion "XSD Ecore Converter" installieren. Dies stellt den Modellimporteur für XML-Schema bereit. – ftl
In keiner Version von Eclipse ist diese Funktion in der Funktion "XSD - XML Schema Definition SDK" enthalten. –
In den neueren Versionen (neon 3 in meinem Fall), musste ich [XML Schema Definition] installieren (http://www.eclipse.org/modeling/mdt/downloads/?project=xsd). So kann ich den XML-Schema-Importer sehen. – ClickBright