HTML开发的很多方面已经随着层叠样式表(CSS)、动态HTML(DHTML),甚至是像Macromedia DreamWeaver这样的编辑工具而得到了提高,但是HTML表单的设计和结构没有发生改变。在当前,HTML表单为Web开发社区埋下了很多障碍。
首先,HTML表单的特性很有限。它只提供了基本的数据收集元素(文本框、选择框等等),而且只有一个动作和表单的提交相关。像JavaScript和VBScript这样的脚本语言能够被用来扩展其功能,而且诸如ASP.NET和JavaServer
Pages(JSP)这样的技术也使得将数据同这些元素绑定成为可能。但是所采用的方法和行业标准相去甚远。
HTML表单的另一个不足之处是缺乏可访问性这一特性。Web网站可访问性是一个必须被关注主动因,有了它才能确保所有的用户都能够利用网站的特性。
此外,Internet正在迅速地从我们的桌面计算机和笔记本计算机转移到移动设备上,例如移动电话和个人数字助理(PDA)。HTML表单,从设计上讲,能够很好地工作在计算机上,但是它们并不总是能够很好地工作在当前市场上众多的移动设备上。
最后,XML已经演变成为了数据传输事实上的标准。而HTML表单没有提供对XML的支持。
XForms很轻松地就解决了每一个担心和问题。由于和XML社区有很强的联系,因此XForms提供了同XML的紧密集成。像数据的验证和计算这样常用的表单特性它都提供了,而且XForms是独立于设备的,因此它们能够很好地工作在你的手机上,就同在你的笔记本计算机上一样。从一开始,可访问性这一特性就已经成为了XForms标准的一部分。
由于植根于XML,所以XForms从设计上就同XHTML(HTML的下一代版本)紧密地集成在一起。XForms的一个关键方面就是,它将表单同表示分开作为其目标。也就是说,XForm的数据和逻辑由XML来处理,而数据使用XML来传输。但是对XForm数据真实表示的处理是同数据分开的。这就允许数据能够被设计,而不需要它会被如何使用以及表示的任何知识。
表示和数据的分离使得对无穷设备的支持成为可能。在使用XML的时候,其他XML技术,例如无线标记语言(WML)或者VoiceXML,能够被用来正确地表示传递给请求客户端的数据。