Pergunta

Eu defini um pequeno DSL que é escrito principalmente na forma de diferentes tipos de arquivos XML em conjunto com alguns arquivos de propriedade. Isso funciona muito bem, mas desejo criar um editor Eclipse para facilitar a edição desses arquivos para iniciantes (já tenho um analisador de trabalho).

O arquivo XML principal pode fazer referência a alguns itens dos arquivos .Properties e vice-versa. O arquivo XML principal também pode fazer referência a outros arquivos XML. Certas opções devem estar disponíveis apenas no arquivo XML principal com base no conteúdo dos arquivos .Properties e com base em alguns plugins OSGI que podem ser adicionados ao projeto DSL (a sintaxe é dinâmica, dependendo do contexto). A estrutura do idioma é corrigida, mas as opções disponíveis em cada atributo ou a escolha dos próprios atributos mudam, dependendo dos metadados contidos nos arquivos plug -in .Jar.

Perguntas:

O XText suporta a sintaxe dinâmica (alterações de validação dependendo de fatores externos)?
XText suporta arquivos xml / .properties arquivos?

Muito obrigado pela sua ajuda com antecedência.

Foi útil?

Solução

Por favor, leia o Documentação xtext.

O XText suporta a sintaxe dinâmica (alterações de validação dependendo de fatores externos)?

O XTEXT valida automaticamente a sintaxe usando a definição gramatical. Além disso, você pode escrever validações arbitrárias em Java ou Verificação.

XText suporta arquivos xml / .properties arquivos?

Se você definir uma gramática para eles, é claro. ;) Nenhum deles é muito difícil.

Outras dicas

Não entendo completamente o que você procura, mas se você tem um XSD, está pensando em transformar isso em um modelo Ecore e depois construir uma gramática xtext para isso? Ou se você estiver começando do zero, construa sua gramática DSL primeiro, depois exporte o Ecore como XSD e use ajudantes como acabei de publicar no meu http://blog2.vorburger.ch/2012/07/xtext-xml.html ? Hth.

Se você não precisa ter XML / XSD, e o que você é em essência realmente está tendo mais um DSL legível (digamos JSON, mas digitado fortemente?) Modelo "(digamos expresso em Xcore, que é um DSL para um modelo EMF Ecore, que você pode importar de um XSD ..), então talvez minha notação de objeto simples emf (ex-efactory) em https://github.com/vorburger/efactory é de interesse para você?

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top