xforms новое поколение веб-форм
DESCRIPTION
TRANSCRIPT
XForms: XForms: новое поколение веб-форм?новое поколение веб-форм?
докладчик: Александр [chameleon] Анохин
ограничения ограничения HTMLHTML-форм-форм::
Смешивание информации о содержании и представлении.Ограниченный набор типов данных и структурДля валидации данных требуется применение скриптинга либо дополнительные запросы на сервер. HTML-формы статичны.Ограниченный и не унифицированный набор методов обработки событий.
Расширенное использование скриптинга.Серверные решения PHP,ASP, JSP…
Недостаточная поддержка различных устройствСложно реализовать, поддерживать и повторно использовать.
стандартстандарт XFormsXForms::
Рекомендация W3C – Октябрь 2003.Поддержка более сложных и динамичных формРазличные типы устройствУнифицированный способ обработки формРаздельное описание данных и интерфейсаБогатый набор типов данныхВысокодинамичные формыВозможность работы офф-лайн…Высокая доступность документовОткрытый непроприетарный стандарт
ключевые особенности дизайна:ключевые особенности дизайна:
Полностью описывается с помощью XMLИспользование существующих стандартов XML
XPath для адресации и вычисления значенийXML Schema для определения типов данных
Модель XFormsЕдиное хранилище информации о собираемых данных.Экземпляры данных – введенные значенияОписание отправки данных
Доступность и готовность к интернационализации
обзор структуры…обзор структуры…• Экземпляры данных
<instance/>
• Описание отправки <submission/>
• Действия модели и привязки <bind/>,<action/>
• Элементы управления <input/>,<trigger/>,…
• События и действия <send/>,<dispatch/>,…
Пользовательский интерфейс
XForms
Модель
XForms
!ОК
• Экземпляры данных <instance/>
• Описание отправки <submission/>
• Действия модели и привязки <bind/>,<action/>
• Элементы управления <input/>,<trigger/>,…
• События и действия <send/>,<dispatch/>,…
Пользовательский интерфейс
XForms
Модель
XForms
!
ОКОК
!
ОК
!
ОК
!
обзор структуры…обзор структуры…
СерверСервер
SV
GS
VG
XH
TM
LX
HTM
L
ОК
!
ОК
!
ОК
!
обзор структуры…обзор структуры…
валидация данных …валидация данных …
валидация данных …валидация данных …
Зависимость полей …Зависимость полей …
работа с наборами узлов…работа с наборами узлов…
Show me the codeShow me the code……UIUI
1. <input bind=“un">2. <label>Логин:</label>3. <hint>Регистр не имеет значения</hint>4. </input>5. <trigger>6. <label>Искать</label>7. <action ev:event="DOMActivate">8. <send submission=“search”/>9. </action>10. </trigger>
ModelModel……
1. <model id=“model1”>2. <instance id=“data1”>3. <data xmlns=“”>4. <username>vpupkin</username>5. </data>6. </instance>7. <bind id=“un” 8. type=“xsd:string”9. nodeset=“instance(‘data1’)//username”10. required=“true()”11. />12. <submission id=“search”14. ref=“instance(‘data1’)”15. method=“post”16. action=“index.php”17. /> 18. </model>
Типы реализаций…
документXForms
<XHTML>
Полноценный клиент
Веб-браузер
Обычный браузер
Плагин XForms
Сервер
Процессор XForms
XForms+XHTML
XForms+XHTML
HTML & JS
функц
ионал
ьность
Пример формы.Пример формы.
существующие имплементации…
• Клиентские– FormsPlayer - http://www.formsplayer.com– XSmiles - http://www.x-smiles.org– DENG - http://claus.packts.net– xslt2Xforms -http://xforms.zeninteractif.com/xhtml/index.html– Oracle mobile browser -
http://www.oracle.com/technology/tech/wireless/mobilebrowser.htm– Novell - http://developer.novell.com/xforms– Mozilla Firefox - http://www.mozilla.org/projects/xforms/
• Серверные– Chiba - http://chiba.sourceforge.net– Orbeon PresentationServer - http://www.orbeon.com/software/– IBM XML Forms Package -
http://www.alphaworks.ibm.com/tech/xmlforms
Спасибо за вниманиеСпасибо за внимание
&&
ВопросыВопросы