Консалтинг и автоматизация в области управления
эффективностью банковского бизнеса

Журнал ВРМ World

W3C продолжил работу над XForms 1.0

Продолжая следить за развитием спецификации XForms, спешим вам сообщить, что Международный консорциум W3C повысил XForms 1.0 до уровня Предложенной рекомендации.

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

Основное различие между формами HTML и XForms состоит в том, что XForms, помимо того, что они сформированы в виде XML, отделяют получаемые данные от разметки элементов управления (controls, контролов), собирающих отдельные величины. Благодаря этому оказывается легче не только управлять XForms - так как становится понятно, что и куда передается, но и повторно использовать формы, поскольку базовая неотъемлемая часть XForm перестает быть "намертво" связанной со страницей, в которой она используется.

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

Расскажем еще о нескольких особенностях XForms.

Обеспечение XML-данных экземпляра: процессор XForms может напрямую представить данные, собранные как XML. Обработка XForms отслеживает состояние частично заполненной формы по этим данным экземпляра. Элемент instance хранит скелет XML-документа, который уточняется по мере того, как пользователь заполняет форму. Благодаря этому автор получает полный контроль над структурой передаваемых XML-данных, включая информацию о пространстве имен. Когда форма передана, данные экземпляра преобразуются в поток (serialized) в виде XML-документа.

Ограничение значений: XForms позволяет проверять данные на допустимость (validity) при заполнении формы. В случае отсутствия информации о типе собираемых величин, все значения возвращают как строки, однако, можно назначить типы значениям данных экземпляра. Определив дополнительный компонент, свойства элемента model (model item properties), авторы могут включить в формы богатую декларативную информацию о проверке на допустимость. Такая информация может быть взята из XML-схем, а также из специальных расширений, поддерживающих XForms.

Многочисленные формы для одного документа: обработка XForms не накладывает никаких ограничений на число отдельных форм, которые могут быть размещены на одном документе. Если документ содержит множество форм, каждая форма требует отдельный элемент model с атрибутом id, чтобы на них было можно ссылать из любого места документа. Помимо этого, управляющие элементы формы должны определять, который элемент model содержит данные экземпляра, с которыми они связаны. Это достигается с помощью атрибута model, который относится к атрибутам присоединения (binding attributes). Если в элементе присоединения не указано ни одного атрибута model, используется атрибут model ближайшего элемента-предка присоединения, а в случае отсутствия - используется первый в документ. Этот прием называется "разрешение области действия" ('scoped resolution') - он часто применяется в XForms.