RCP Formularbasierter XML-Editor (bzw. vorhandenen XML-Editor integrieren)

slawaweis

Bekanntes Mitglied
Hallo,

ich suche eine Möglichkeit einen formularbasierten XML-Editor, analog zum dem "Plug-in Manifest Editor", zu erstellen. Das Kernproblem ist die Integration eines vorhandenen XML-Text-Editors, so dass eine XML-Datei über ein Formular oder direkt als Text bearbeitet werden kann und die jeweiligen Änderungen synchronisiert werden.

Ich habe bereits einen eigenen FormEditor erstellt, mit mehreren Pages, nur weis ich nicht, wie ich einen vorhandenen XML-Editor rein bekomme. Ich habe auch schon von XMLMultiPageEditorPart abgeleitet, nur ist diese Lösung nicht sauber. Bei beiden Varianten weis ich nicht, wie ich die Eingaben zwischen Formular und Text-Editor synchronisieren kann, ohne die komplette XML-Datei als String hin und her zu schicken. Noch eine Möglichkeit wäre ein komplett eigener XML-Editor, basierend auf dem Beispiel Plugin, nur möchte ich diese Möglichkeit wegen des Aufwandes nach Hinten stellen.

So wollte ich fragen, ob jemand Erfahrung damit gemacht hat, so einen Editor zu erstellen. Diesen Thread habe ich bereits gelesen:

http://www.java-forum.org/plattformprogrammierung/88910-xml-editor-project.html

Slawa
 

Wildcard

Top Contributor
Das synchronisieren ist tatsächlich nicht ohne und auch der Manifest Editor macht damit keinen sonderlich guten Job. Xtext ist ziemlich gut darin, aber ist eher für textuelle Sprachen gedacht, nicht XML Dialekte.
Mit EMF solltest du die besten Chancen haben. Wenn im Formular Editor editiert wird, kannst du den geänderten Teil als String serialisieren lassen und dann im Document ersetzen. Wenn die Formattierung keine Rolle spielt kannst du natürlich auch immer komplett serialisieren.
Wenn das XML textuell geändert wird musst du entweder komplett neu laden und dem Form Editor den neuen Input setzen, oder du lädst, machst zB mit EMF Compare einen Diff und wendest den Diff auf das Modell im Form Editor an.
 

slawaweis

Bekanntes Mitglied
danke für die Antwort. Meine Vorstellung war eigentlich ein gemeinsamer DOM-Baum, woran das Formular und der Texteditor arbeiten. Habe aber bisher keine solche Lösung gefunden. EMF wäre, denke ich, aufwändiger als DOM, falls man es komplett selber implementiert.

Kennt jemand einen offenen XML-Editor für Eclipse, worauf man über Extensions aufsetzen kann? Bei dem Editor aus WTP muss man in den Quelltext rein.

Slawa
 

Wildcard

Top Contributor
EMF Objekt Baum, oder DOM Baum, wo ist da jetzt der Unterschied?
EMF gibt dir zumindest die Werkzeuge an die Hand um so eine synchronisation umzusetzen, bei DOM hast du es schwieriger.
Ein textueller Editor kann auch nicht einfach so auf einem DOM arbeiten, denn der Text wird vom User editiert und hat damit auch ungültige Zwischenstände die sich überhaupt nicht in ein DOM überführen lassen weil es kein gültiges XML ist.
 

slawaweis

Bekanntes Mitglied
EMF Objekt Baum, oder DOM Baum, wo ist da jetzt der Unterschied?
darin, dass ich EMF noch nicht kenne :D

EMF gibt dir zumindest die Werkzeuge an die Hand um so eine synchronisation umzusetzen, bei DOM hast du es schwieriger.
Ein textueller Editor kann auch nicht einfach so auf einem DOM arbeiten, denn der Text wird vom User editiert und hat damit auch ungültige Zwischenstände die sich überhaupt nicht in ein DOM überführen lassen weil es kein gültiges XML ist.
der Texteditor hat natürlich sein eigenes Dokumentenmodel, welches in den gemeinsamen DOM übertragen wird. Es kommt auch nur das rein, was korrekt ist. Beim Laden von nicht-validen XML-Dokumenten wird das Formular gesperrt, bis das Dokument valid ist. Aber am liebsten wäre es mir, wenn ich so einen Editor erst gar nicht schreiben müsste :D

Slawa
 

Wildcard

Top Contributor
Wie gesagt, Xtext ist am nächsten dran, dort geht das sehr gut aber einen generischen XML Editor der soetwas kann ist mir nicht bekannt.
EMF gibt dir die Werkzeuge an die Hand (Xtext verwendet dafür auch EMF), aber etwas Arbeit wirst du investieren müssen.
 
A

annalyse

Gast
Ich habe das gleiche Problem. Hast du mittlerweile eine Lösung gefunden?

Danke,
Anna
 

slawaweis

Bekanntes Mitglied
Ich habe das gleiche Problem. Hast du mittlerweile eine Lösung gefunden?
leider nein. Ich habe es jetzt so gemacht, dass es nur einen Formulareditor gibt, mit welchem man die gesamte XML-Datei bearbeiten kann. In der Formular-Toolbar gibt es eine Synchronisationstaste. Wenn jemand es will, kann er die Datei auch in einem beliebigen XML-Texteditor direkt bearbeiten und muss dann selber manuell im Formulareditor synchronisieren. Das ist eine Zwischenlösung. Später werde ich versuchen das miteinander zu verbinden. Vielleicht gibt es bis dahin auch schon eine fertige Lösung.

Slawa
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
L HTML Editor Plattformprogrammierung 2
P Artifact-Editor in RCP-Anwendung Plattformprogrammierung 14
TheWhiteShadow RCP Zustand von Editor Toolbar ToggleButton aktualisieren Plattformprogrammierung 0
D Eclipse_Visual Editor Problem Plattformprogrammierung 2
M Extension Point für Content Assist in JSP Editor gesucht Plattformprogrammierung 2
TheWhiteShadow RCP Editor Inhalt speichern Plattformprogrammierung 3
TheWhiteShadow RCP Konstrukt für Editor in Eclipse gesucht. Plattformprogrammierung 3
P RCP Text Editor Example - Missing Bundles lassen sich nicht auffinden. Plattformprogrammierung 6
3 Eclipse Editor Plugin selektiert Projekt nicht Plattformprogrammierung 10
C Java Editor funktioniert nicht Plattformprogrammierung 9
G RCP Eclipse Editor + Guice Plattformprogrammierung 8
J RCP Verhindern, dass Editor geschlossen wird Plattformprogrammierung 5
C Eclipse Plugin Entwicklung: Editor für Flussdiagramme Plattformprogrammierung 6
E Editor Schriftgröße ändern per "Java Code" Plattformprogrammierung 8
W letzte angeklickten Editor ermitteln Plattformprogrammierung 3
S GMF Editor mit einem zur Laufzeit erstellten Modell Plattformprogrammierung 4
B Eclpise Visual Editor Plattformprogrammierung 2
A RCP Editor-Reiter (FormEditor): Kann Rechtsklick-Menue überschrieben werden? Plattformprogrammierung 6
A RCP Tabs oben und unten im Editor oder mehrere Editoren? Plattformprogrammierung 7
B GMF Editor mit nur einem Connection Tool Plattformprogrammierung 5
T RCP - Scrollable Editor Plattformprogrammierung 4
T Speichern eines Objectes in einem Editor (mit isDirty) Plattformprogrammierung 6
J TableViewer aus Editor refreshen Plattformprogrammierung 5
T RCP Local History für eigenen Editor Plattformprogrammierung 9
L RCP Genmodel-Editor? Plattformprogrammierung 2
U Klassendiagramm-Editor (EMF, GMF, Ecore Tools) Plattformprogrammierung 3
M gmfgraph editor Plattformprogrammierung 6
L RCP View in einem Editor öffnen? Plattformprogrammierung 3
B Eclipse RCP: Kontextsensitive Buttons für Editor und Hilfebutton für Wizard hinzufügen Plattformprogrammierung 5
J RCP Default Editor öffnen? Plattformprogrammierung 5
J Code Editor auslesen? Plattformprogrammierung 3
C [GEF] gespeicherte Dateien des generierten Editor Plattformprogrammierung 5
G Editor undo/redo Plattformprogrammierung 9
Spot84 datei im editor öffnen(tutorial undurchsichtig) Plattformprogrammierung 5
G Editor anzeigen Plattformprogrammierung 2
T Setze Gradienten auf Elemente(GMF-Editor) Plattformprogrammierung 2
S Custom Editor Content Assist Plattformprogrammierung 3
G Editor und doSave() Plattformprogrammierung 19
G WYSIWYG HTML Editor als Eclipse Plug-In Plattformprogrammierung 6
K XML Editor im Project Plattformprogrammierung 12
K Editor nicht in der 'EditorArea' öffnen, sondern in einem Folder(Layout). Plattformprogrammierung 10
S RCP Anfängerfrage - Zusammenspiel View, Editor, Model Plattformprogrammierung 4
D GEF Editor als RCP ausführen Plattformprogrammierung 10
G Editor Plattformprogrammierung 6
N GMF Editor automatisch generieren Plattformprogrammierung 2
H Visueller Editor für Eclipse RCP Anwendung Plattformprogrammierung 3
G xml-Datei im Editor importieren Plattformprogrammierung 3
dzim Editor aus View öffnen - fehler: unbekannte Editor ID Plattformprogrammierung 11
Paule EMF Editor Dateiverknüpfungen Plattformprogrammierung 9

Ähnliche Java Themen


Oben