Общие сведения

В настоящее время при построении приложений повсеместно используются HTML-формы. Они позволяют вводить и отправлять на сервер необходимую для обработки информацию. Однако стандартные HTML-формы имеют следующие недостатки:

1) реализация HTML-формы сильно связана с клиентским языком сценариев, например JavaScript, с помощью которого выполняется проверка корректности значений полей формы, изменение значений одних полей формы на основе значений других полей и многие другие стандартные операции. В результате создание HTML-страниц, содержащих формы, становится достаточно сложной задачей и требует определенных навыков программирования;

2) поскольку HTML не определяет механизм связывания данных с элементами форм, то первоначальная инициализация значений полей формы и поддержка состояния просмотра страницы является серьезной проблемой.

Стандартный подход приводит к смешению дизайна Web-страниц и кода на развитом языке программирования (например, Java, Perl или PHP), и без изменения кода изменить представление информации практически невозможно. Наконец, результат заполнения обычной HTML-формы представляется в виде набора пар имя-значение, что затрудняет их дальнейшую обработку и сохранение в базах данных.

Для решения перечисленных выше проблем консорциумом W3С был разработан новый подход к созданию форм в Web-приложениях под названием XForms. Основным отличием XForms от стандартных форм HTML является использование формата XML как для задания набора визуальных элементов управления формы, так и для первоначальной инициализации значений полей формы и пересылки ее значений на сервер с целью обработки. Это позволяет обрабатывать результаты и сохранять полученный XML в БД. Более того, XForms отделяют данные и логику форм от их представления. Большая часть стандартных операций теперь включается в состав XForms, что сокращает потребность в использовании клиентских сценариев. Более того, поскольку XForms является преемником HTML-форм, то все возможности HTML-форм доступны и в XForms.