XForms是W3C组织所推荐的下一代在线Forms,它吸取了
W3C标准诸如:XML Schema, XPath和基于XML的事件,最大特色是包含了客户端验证的功能。
简介
XForms是W3C组织所推荐的下一代在线Forms(早在2003年10月14日就被W3C推荐),它吸取了
W3C标准诸如:XML Schema, XPath和基于XML的事件,XForms试图突破当前HTML forms模型的一些限制。
XForms的最大特色是包含了客户端验证的功能,我们知道,在HTML中,许多关于forms验证的功能需要写大量的JavaScript脚本,由于验证的Javascript脚本库依赖于forms中的各个元素,当它们发生变化时,不得不重新更新或维护Javascript验证脚本。XForms结合了许多关于验证方面的功能,对form验证只需要使用简单的XML标记完成,其它亮点还有:XForms将数据从表现中分离,更健壮的数据类型表示,能够递交XML数据到服务端-替代我们通常使用name/value递交的做法(看起来这个还不错),XForms可以在不同的设备上正常显示。在学习XForms之前,推荐先阅读一下Web Forms 2.0,关于XForms的教程和文档可在W3C站点找到。
被称为“下一代Web
表单”的XForms最初起源于HTML工作组的工作。W3C组织力图将XForms制定成为
HTML表单的替代标准,用于包括桌面电脑、手持设备、信息家电等领域在内的各种平台之上。传统的HTML Web
表单没有将表单的设计目的和表现形式分离开来,表单设计的灵活性很低,同时客户端计算能力也无法充分利用。
为了克服以上缺点,XForms对
表单进行了抽象定义,将表单区分为数据,逻辑和表现三方面。规范中没有规定实现细节,因此XForms处理器的实现形式是多样的。既可以基于
浏览器嵌入HTML页面中,利用HTML和JavaScript进行表现;也可以用Java Swing应用程序等形式表现。另外XForms还为应用提供了
事件驱动模型,这使得用户可以像开发普通的GUI应用程序一样对鼠标、键盘等事件进行相应的编程。
XForms标准的成功之处就是将
表单的作用和表现方式分离,由相互独立的部分分别负责描述。这使得XForms的表现方式更灵活。
定义
XForms 是下一代的 HTML 表单
XForms 与 HTML 表单相比更完善,更灵活
XForms 将在 XHTML 2.0 中成为表单标准
XForms 独立于平台和设备
XForms 可从表现分离数据和逻辑
XForms 使用 XML 来定义表单数据
XForms 可存储和传输 XML 文档中的数据
XForms 含有诸如计算以及表单验证等特性
XForms 可减少或根除对脚本的需求
XForms 是 W3C 标准
框架
HTML 表单的作用是搜集数据。XForms 的作用是相同的。
通过 XForms,输入数据被描述在两个不同的部分中:
XForms 模型(描述数据和逻辑)
XForms 用户界面(显示和输入数据)
模型
XForms 模型用于描述数据。
数据模型是 XML 文档的一个实例(一个模板)。
XForms 模型定义了一个 元素内部的一个数据模型:
从上面的例子,您可以看到 XForms 模型使用 一个 元素来为需要收集的数据定义 XML 模板,并使用一个 元素来描述如何提交数据。
模型没有表达任何有关表单可见部分(用户界面)的信息。 设计目标
1、 支持手持设备、电视、桌面浏览器,以及打印机和扫描仪等
2、 丰富的用户界面满足商务、消费和设备控制等各种应用
3、 消除数据、逻辑和表现之间的耦合
4、 增强的国际化功能
8、 挂起和恢复功能的支持
9、 和XML标签集的无缝集成
绑定
XForms 使用两个部分来定义数据:XForms 模型和 XForms 用户界面。
XForms 模型是针对数据的一个 XML 模板(实例),而 XForms 用户界面是对数据输入和显示的描述。
XForms 使用 XPath 来定义这个两个部分的连接。这被称为绑定(binding)。
数据类型
XForms 属性参考
字符串数据类型
所有的字符串数据类型都源自于 string 数据类型本身。
日期和时间数据类型
数值数据类型
All numeric data types are derived from the decimal data type.
杂项数据类型
XForms 数据类型