XForms
XForms是W3C组织所推荐的下一代在线Forms,它吸取了W3C标准诸如:XML Schema, XPath和基于XML的事件,XForms试图突破当前HTML forms模型的一些限制。
简介[ ]
被称为“下一代Web表单”的XForms最初起源于HTML工作组的工作。W3C组织力图将XForms制定成为HTML表单的替代标准,用于包括桌面电脑、手持设备、信息家电等领域在内的各种平台之上。传统的HTML Web表单没有将表单的设计目的和表现形式分离开来,表单设计的灵活性很低,同时客户端计算能力也无法充分利用。
Xforms特点[ ]
- 支持手持设备、电视、桌面浏览器,以及打印机和扫描仪等
- 丰富的用户界面满足商务、消费和设备控制等各种应用
- 消除数据、逻辑和表现之间的耦合
- 增强的国际化功能
- 支持结构化表单数据
- 先进的表单逻辑
- 单页面多表单,以及单表单多页面
- 挂起和恢复功能的支持
- 和XML标签集的无缝集成
Xforms功能[ ]
XForms的最大特色是包含了客户端验证的功能,在HTML中,许多关于forms验证的功能需要写大量的JavaScript脚本,由于验证的Javascript脚本库依赖于forms中的各个元素,当它们发生变化时,不得不重新更新或维护Javascript验证脚本。XForms结合了许多关于验证方面的功能,对form验证只需要使用简单的XML标记完成,另外,XForms将数据从表现中分离,更健壮的数据类型表示,能够递交XML数据到服务端-替代我们通常使用name/value递交的做法,XForms可以在不同的设备上正常显示。 为了克服以上缺点,XForms对表单进行了抽象定义,将表单区分为数据,逻辑和表现三方面。规范中没有规定实现细节,因此XForms处理器的实现形式是多样的。既可以基于浏览器嵌入HTML页面中,利用HTML和JavaScript进行表现;也可以用Java Swing应用程序等形式表现。另外XForms还为应用提供了事件驱动模型,这使得用户可以像开发普通的GUI应用程序一样对鼠标、键盘等事件进行相应的编程。
Xforms表单设计[ ]
- 使用XML表现表单. XForms 详细的定义了表单的结构和数据格式:存储在XML文档中,称为XForms实例,初始化为空,如下一个信用卡数据采集:
<credit-card> <type/> <number/> <expiration-month/> <expiration-year/> </credit-card> 用户填写后的结果如下: <credit-card> <type>visa</type> <number>1234567812345678</number> <expiration-month>8</expiration-month> <expiration-year>2008</expiration-year> </credit-card>
Xforms模型[ ]
XForms 模型用于描述数据。XForms 模型定义了一个 <model> 元素内部的一个数据模型:
<model> <instance> <fname/> <lname/> </person> </instance> <submission id="form1" action="submit.asp" method="get"/> </model>
从上面的例子,您可以看到 XForms 模型使用 一个 <instance> 元素来为需要收集的数据定义 XML 模板,并使用一个 <submission> 元素来描述如何提交数据。<submission> 模型没有表达任何有关表单可见部分(用户界面)的信息。