Проверка XForms на стороне сервера и интеграция в ASP.NET - PullRequest
8 голосов
/ 22 марта 2010

Недавно я исследовал методы создания веб-форм для веб-приложения ASP.NET, которые можно редактировать и управлять ими во время выполнения. Например, администратор может пожелать добавить новое правило проверки или новый набор полей.

Святой Грааль предоставит средства для определения формы вместе с (потенциально очень сложными) произвольными правилами проверки и распределения источников данных для каждого поля. Затем спецификация будет использоваться для обновления развернутой формы в веб-приложении, которая затем будет проверять отправленные документы как на стороне клиента, так и на стороне сервера.

Мои исследования привели меня к Xforms и ряду технологий, которые его поддерживают. Похоже, что одним из решений является IBM Lotus Forms , но это требует очень больших инвестиций в инфраструктуру, что делает его неосуществимым, хотя конструктор форм может быть полезен в качестве автономного инструмента для создания форм. У меня также есть скидки на подключаемые модули браузера, так как форма должна быть общедоступной и соответствовать требованиям браузера.

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

Другой вариант предполагает использование серверных решений, таких как Java-приложение Orbeon . Orbeon предоставляет инструмент для определения форм (хотя и не такой богатый, как Lotus Forms Designer), но наиболее интересным моментом является то, что он может преобразовать схему XForms в форму XHTML с проверкой. Тот факт, что он написан на Java, не является большой проблемой, если его можно интегрировать с существующим приложением ASP.NET.

Так что мой вопрос в том, делал ли это кто-то раньше. Это звучит как проблема, которая должна быть решена, но по своей сути очень сложна. Кажется возможным использовать готовый инструмент для разработки формы и экспорта ее в схему Xforms и форму xhtml, и представляется возможным взять эту схему и форму xforms и опубликовать ее с помощью библиотеки на стороне клиента. То, что кажется трудным, - это предоставление средств для проверки отправки форм на стороне сервера и приятной интеграции процесса с .NET (хотя кажется, что сообщество .NET не занимается XForms; пожалуйста, исправьте меня, если я ошибаюсь) на этот счет).

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

Большое спасибо.

Ответы [ 2 ]

0 голосов
/ 28 октября 2010

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

Для проверки вы можете использовать Schematron, его также можно легко редактировать во время выполнения с помощью инструментов, поддерживающих XML.

Выможно использовать Javascript для создания XML-данных в браузере или преобразовать application/x-www-form-urlencoded в XML на сервере (это то, что я делаю на этой странице ).

0 голосов
/ 11 июня 2010

Я, вероятно, что-то упускаю, но ...

То, как я делал подобные вещи на этом этапе, заключается в создании схемы для объявления формы и xslt для преобразования этого xml в html.Затем вы можете добавить все виды проверки на основе созданной вами XML-схемы.Хотя мне обычно не хватает дизайнера форм.

...