Frage

Ich habe eine kleine DSL definiert, die hauptsächlich in Form verschiedener Arten von XML -Dateien in Verbindung mit einigen Eigenschaftsdateien geschrieben ist. Dies funktioniert sehr gut, aber ich möchte einen Eclipse -Editor erstellen, um die Bearbeitung dieser Dateien für Anfänger zu erleichtern (ich habe bereits einen funktionierenden Parser).

Die Haupt-XML-Datei kann einige Elemente aus den .Properties-Dateien und umgekehrt verweisen. Die Haupt -XML -Datei kann auch auf andere XML -Dateien verweisen. Bestimmte Optionen sollten nur in der Haupt -XML -Datei verfügbar sein, basierend auf dem Inhalt der .Properties -Dateien und basierend auf einigen OSGI -Plugins, die dem DSL -Projekt hinzugefügt werden können (die Syntax ist je nach Kontext dynamisch). Die Struktur der Sprache ist festgelegt, die Optionen, die in jedem Attribut oder die Auswahl der Attribute selbst verfügbar sind, ändert sich je nach Metadaten, die in Plugin -JAR -Dateien enthalten sind.

Fragen:

Unterstützt XText dynamische Syntax (Validierungsänderungen ändert sich je nach externen Faktoren)?
Unterstützt XText XML -Dateien / .Properties -Dateien?

Vielen Dank für Ihre Hilfe im Voraus.

War es hilfreich?

Lösung

Bitte lesen Sie die XText -Dokumentation.

Unterstützt XText dynamische Syntax (Validierungsänderungen ändert sich je nach externen Faktoren)?

XText validiert automatisch die Syntax mit der Grammatikdefinition. Darüber hinaus können Sie beliebige Validierungen in Java oder überprüfen.

Unterstützt XText XML -Dateien / .Properties -Dateien?

Wenn Sie eine Grammatik für sie definieren, natürlich. ;) Keiner von ihnen ist zu schwierig.

Andere Tipps

Ich verstehe nicht vollständig, wonach Sie suchen, aber wenn Sie eine XSD haben, haben Sie dann in Betracht, dies in ein ECORE -Modell zu verwandeln und dann eine Xtext -Grammatik dafür zu erstellen? Oder wenn Sie von vorne anfangen, bauen Sie zuerst Ihre DSL -Grammatik auf, dann exportieren Sie den Ecore als XSD und verwenden Sie Helfer, wie ich gerade in meinem gepostet habe http://blog2.vorburger.ch/2012/07/xtext-xml.html ? HTH.

Wenn Sie nicht XML / XSD haben müssen und was Sie im Wesentlichen sind, hat es wirklich mehr lesbar (sagen wir JSON-ähnlich, aber stark getippt?) "Generisches" DSL für Datenstrukturen, die durch irgendeine Art von "Meta eingeschränkt werden" Modell "(z. B. in Xcore ausgedrückt, ein DSL für ein EMF Ecore-Modell, das Sie aus einem XSD importieren können. https://github.com/vorburger/efactory Ist für Sie von Interesse?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top