Могу ли я использовать XText для DSL, включающего тип файла XML?

StackOverflow https://stackoverflow.com/questions/2407746

Вопрос

Я определил небольшой DSL, который в основном написан в виде различных типов XML -файлов в сочетании с некоторыми файлами свойств. Это работает очень хорошо, но я хочу создать редактор Eclipse, чтобы упростить редактирование этих файлов для начинающих (у меня уже есть рабочий анализатор).

Главный XML-файл может ссылаться на некоторые элементы из файлов .properties и наоборот. Главный XML -файл также может ссылаться на другие файлы XML. Определенные параметры должны быть доступны только в основном XML -файле на основе содержимого файлов. Структура языка исправлена, но параметры, доступные в каждом атрибуте или выбор атрибутов, сами меняются в зависимости от метаданных, содержащихся в плагинах .jar файлов.

Вопросы:

Поддерживает ли Xtext динамический синтаксис (изменение валидации в зависимости от внешних факторов)?
Поддерживает ли Xtext xml -файлы / .properties файлы?

Большое спасибо за вашу помощь заранее.

Это было полезно?

Решение

Пожалуйста, прочтите XTEXT Документация.

Поддерживает ли Xtext динамический синтаксис (изменение валидации в зависимости от внешних факторов)?

Xtext автоматически проверяет синтаксис с помощью определения грамматики. Кроме того, вы можете написать произвольные проверки на Java или чек.

Поддерживает ли Xtext xml -файлы / .properties файлы?

Если вы определите для них грамматику, конечно. ;) Ни один из них не слишком сложный.

Другие советы

Я не совсем понимаю, что вы хотите, но если у вас есть XSD, вы рассматриваете возможность превратить это в модель Ecore, а затем создать для этого грамматику XText? Или, если вы начинаете с нуля, сначала построите свою DSL -грамматику, затем экспортируйте Ecore как XSD и используйте помощников, как я только что опубликовал в своем http://blog2.vorburger.ch/2012/07/xtext-xml.html ? Hth.

Если вам не нужно иметь XML / XSD, и то, что вы, по сути, на самом деле больше имеют читаемый (скажем, похожий на JSON, но сильно напечатаны?) модель »(скажем, выраженная в Xcore, которая является DSL для модели EMF ECORE, которую вы можете импортировать из xsd ..), а затем, возможно, мой EMF простой нотация объекта Eson (Ex-accactory) в https://github.com/vorburger/factory Вам интересен?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top