XForms


XForms — это формат XML , используемый для сбора входных данных из веб-форм . XForms был разработан как следующее поколение форм HTML / XHTML , но он достаточно общий, чтобы его можно было использовать автономно или с языками представления, отличными от XHTML, для описания пользовательского интерфейса и набора общих задач обработкиданных .

XForms 1.0 (третье издание) было опубликовано 29 октября 2007 г. Первоначальная спецификация XForms стала официальной рекомендацией W3C 14 октября 2003 г., а XForms 1.1, которая внесла ряд улучшений, достигла того же статуса 20 октября 2009 г.

В отличие от исходных веб-форм (первоначально определенных в HTML), создатели XForms использовали подход модель-представление-контроллер (MVC). Модель состоит из одной или нескольких моделей XForms, описывающих данные формы, ограничения на эти данные и представления. Представление описывает, какие элементы управления отображаются в форме, как они группируются и к каким данным они привязаны. CSS можно использовать для описания внешнего вида формы.

Документ XForms может быть таким же простым, как веб-форма (только с указанием элемента представления в разделе модели и размещением элементов управления в теле), но XForms включает в себя множество дополнительных функций. Например, новые данные могут быть запрошены и использованы для обновления формы во время ее работы, как при использовании XMLHttpRequest / AJAX , но без сценариев. Автор формы может проверять пользовательские данные по XML-схеме .типы данных, требуют определенных данных, отключают элементы управления вводом или изменяют разделы формы в зависимости от обстоятельств, обеспечивают соблюдение определенных отношений между данными, вводят массивы данных переменной длины, выводят вычисленные значения, полученные из данных формы, предварительно заполняют записи с помощью XML-документа, отвечают на действия в режиме реального времени (а не во время отправки) и изменять стиль каждого элемента управления в зависимости от устройства, на котором они отображаются (настольный браузер или мобильный, только текст и т. д.). Часто нет необходимости в каких-либо сценариях с такими языками, как JavaScript. Однако XForms включает модель событий и действия для реализации более сложного поведения форм. [1] Действия и обработка событий задаются с использованием диалекта XML XForms, а не более распространенных языков сценариев, таких как JavaScript.

Как и веб-формы, XForms могут использовать различные протоколы отправки, отличные от XML ( multipart/form-data , application/x-www-form-urlencoded ), но новая функция заключается в том, что XForms может отправлять данные на сервер в формате XML. Документы XML также можно использовать для предварительного заполнения данных в форме. Поскольку XML является стандартом, существует множество инструментов, которые могут анализировать и изменять данные при отправке. Также существуют аналогичные инструменты для устаревших форм. XForms сам по себе является диалектом XML и поэтому может создавать и создаваться из других XML-документов с помощью XSLT . С помощью преобразований можно автоматически создавать формы XForms из схем XML , а формы XForms можно преобразовывать в формы XHTML.

На момент написания этой статьи ни один из широко распространенных веб-браузеров изначально не поддерживал XForms. Однако существуют различные плагины для браузера, клиентские расширения и серверно-клиентские решения. Ниже перечислены некоторые реализации: