Автоматически создавать графический интерфейс из XML-схемы

Мне нужно написать настольное приложение для редактирования данных, хранящихся в файле XML. Формат определяется файлом схемы XML (.xsd). Формат довольно сложный.

Существуют ли инструменты, которые могут генерировать базовый графический интерфейс автоматически? Он еще не решил, какой язык использовать. У меня есть опыт работы с Python и С++ с использованием wxWidgets и С# (.NET 1) с использованием Windows Forms.

Ответы

Ответ 2

Одним из решений может быть запись преобразования XSL, которое преобразует XML файл в файл XAML.

Ответ 3

Если графический интерфейс будет простым, и вы не будете беспокоиться о геометрии компонентов (виджеты) в диалогах, Qt будет хорошим вариантом. На самом деле я работаю над аналогичной задачей для своего проекта, и моя цель состояла в том, чтобы проверить данные формы с помощью XML файла.

Используя Qt, можно получить доступ к любому виджету в диалоговом окне во время выполнения, используя его имя объекта. Таким образом, проверка может быть применена к содержимому диалогового окна.

Создание любых диалогов будет еще проще, так как вы будете иметь тип виджетов и определенную информацию и используя макеты, можно получить увлекательные результаты.

Ответ 4

Стоит взглянуть на Jaxfront, который может использовать XSD и сгенерировать форму (включая HTML). Вы также можете предоставить XML-документ экземпляра для его загрузки в графический интерфейс и также сохранить XML-документы экземпляра.

Я попробовал это с одним из наших довольно сложных XSD, и он работал очень хорошо.

К сожалению, это написано на Java - я все еще ищу что-то, что может генерировать веб-формы .NET или XAML/WPF! На самом деле даже XFORMS будет хорошо.

Ответ 5

Я не совсем уверен, могу ли я полностью помочь вам @Adrian, но я изучал что-то очень близкое к тому, что вы обсуждаете...

Использование чего-то вроде Linq to XML может помочь вам в проверке вводимых данных, поскольку уже есть методы, которые будут проверять данные для вас.

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

Надеюсь, что это поможет.

Ответ 6

Существует экспериментальный инструмент, который делает это, автоматически создавая пользовательский интерфейс для работы с данными, хранящимися в XML. Он называется KXForms. Он поставляется как часть набора инструментов для обработки XML-данных различными способами, например, создание кода на С++ из схемы XML для представления данных изначально на С++ и инкапсуляция синтаксического анализа и записи.

Это может быть не готовое к производству решение, которое вы ищете, но это начало и источник вдохновения. Это с открытым исходным кодом, поэтому взносы, безусловно, приветствуются.

Ответ 7

" Проект XAmple XML Editor представляет XML-редактор java Swing, который анализирует данную схему и затем создает графический пользовательский интерфейс, специфичный для документа. В отличие от других редакторов XML графический редактор XML XAmple предоставляет не только древовидное представление документа XML, но скорее логическую комбинацию XML-документа и соответствующей схемы XML. Пользовательский интерфейс редактора XML является очень логичным и интуитивно понятным. способный подготовить достоверные XML-документы значительной сложности, пользователю не обязательно быть знакомы с языками XML и XML-схем и иметь какие-либо априорные знания о структурных требованиях к документам".

Я пробовал, и даже моему нетехническому боссу это нравится. Вы можете использовать его как есть или использовать его как библиотеку, на которой можно создать собственный пользовательский интерфейс на основе Java.