Создание и привязка графического интерфейса пользователя из файла xsd автоматически в приложении eclipse rcp

Я хочу создать компоненты GUI из XSD файлов. Сгенерированные GUI должны использоваться для конкретных экземпляров xml соответствующей схемы с привязкой данных к "интересным" элементам или содержимому атрибутов. Я рассмотрел эти решения:

  • jaxfront. (коммерческий инструмент). Это не создает исходный код. Это важно для меня, потому что я хочу общаться между сгенерированными GUI и другими компонентами графического интерфейса.

  • Используйте xsd2emf и попытайтесь создать из него редактор. Сгенерированная модель является сложной, а также сгенерированным редактором, и она глючит.

  • Сделайте это сам, например. сгенерируйте xml из xsd, загрузите xml в качестве dom, выберите интересующие части и сгенерируйте привязку данных, используя один метод, описанный в http://www.vogella.de/eclipse.html.

Есть ли у кого-нибудь другая идея или уже успешно решена эта проблема? Я бы предпочел бесплатное решение с открытым исходным кодом, которое генерирует GUI SWT.

Ответы

Ответ 1

Посмотрели ли вы на Sapphire на eclipse?

С его помощью вы должны создать модель на основе нескольких простых файлов интерфейса Java с некоторыми аннотациями, которые будут моделировать ваш XSD. Затем, как только вы определили модель, вы создаете SWT GUI с одним xml файлом (sdef файлом), который соединяет с вашей моделью различные редакторы свойств. Редакторы свойств могут быть простыми виджетами, такими как ярлык, текст, списки, комбинированные поля, но также могут быть сложными редакторами, такими как редактор диаграмм на основе GEF. Таким образом, в принципе, если у вас есть несколько интерфейсов, описывающих вашу модель, то у них может быть графический редактор для редактирования узлов в этой модели с менее чем 100 строками XML.

Смотрите строки с 22 по 121 этого файла примера.