Domanda

Ho definito un piccolo DSL che è in gran parte scritto sotto forma di diversi tipi di file XML in combinazione con alcuni file di proprietà. Questo funziona molto bene, ma vorrei creare un editor di Eclipse per rendere la modifica di questi file facile per i principianti (ho già un parser di lavoro).

Il file XML principale può fare riferimento a alcune voci dai file .properties e viceversa. Il file XML principale può anche fare riferimento ad altri file XML. Alcune opzioni dovrebbero essere disponibili solo nel file XML principale in base al contenuto dei file .properties e sulla base di alcuni plugin OSGi che possono essere aggiunti al progetto DSL (la sintassi è dinamico a seconda del contesto). La struttura del linguaggio è fissa ma le opzioni disponibili in ogni attributo o la scelta di attributi si cambia a seconda metadati contenuti nei file .jar plugin.

Domande:

La xtext supportare la sintassi dinamica (convalida, le modifiche che dipendono da fattori esterni)?
Supportati da xtext file XML / file .properties?

La ringrazio molto per il vostro aiuto in anticipo.

È stato utile?

Soluzione

Si prega di leggere il xtext documentazione .

  

Lo xtext supportare la sintassi dinamica (convalida, le modifiche a seconda di fattori esterni)?

xtext convalida automaticamente la sintassi utilizzando la definizione della grammatica. Inoltre, è possibile scrivere validazioni arbitrari in Java o controllo.

  

sono supportati da xtext file XML / file .properties?

Se si definisce una grammatica per loro, naturalmente. ;) Nessuno di loro sono troppo difficili

.

Altri suggerimenti

Io non capisco tutto quello che stai dopo, ma se avete un XSD, vi ho visto svolta che in un modello Ecore, e quindi la costruzione di una grammatica xtext per questo? Oppure, se si inizia da zero, costruire la vostra grammatica DSL, poi esportare l'Ecore come XSD, e utilizzare aiutanti come ho appena postato nel mio http://blog2.vorburger.ch/2012/07/xtext-xml.html ? HTH.

Se non si deve avere XML / XSD, e che cosa siete dopo, in sostanza, in realtà è più avere un leggibile (ad esempio JSON-like, ma fortemente tipizzato?) DSL "generico" per strutture di dati vincolate da una sorta di "meta-modello" (diciamo espresso in XCore, che è un DSL per un modello EMF Ecore, che è possibile importare da un XSD ..), allora forse la mia EMF Simple Object Notation ESON (ex-EFactory) all'indirizzo https://github.com/vorburger/efactory è di vostro interesse?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top