XForms 是 W3C 制定的基于 XML 的下一代表单标准,2003 年推荐,通过分离数据模型(instance)、逻辑绑定(bind)与界面控件实现验证、计算、离线保存和跨设备适配。

XForms 是 W3C 制定的下一代 Web 表单标准,2003 年正式推荐,目标是替代传统 HTML 表单。它不是简单增强版,而是从底层重构:用 XML 描述数据、用 XPath 绑定逻辑、用独立模型分离数据与界面。这意味着表单不再只是“填空+提交”,而是能验证、计算、本地保存、动态响应、跨设备适配的交互式数据应用。
核心区别:XForms vs HTML 表单
HTML 表单依赖 name/value 对、JavaScript 验证、服务端解析;XForms 使用结构化 XML 实例(instance)、声明式约束(如 required、constraint)、内置类型(date、decimal、boolean)和 XPath 表达式驱动行为。一个输入框绑定的是 XML 节点路径,而不是字段名。
- 数据不混在标签里,而存于
中 - 校验写在模型层,无需手写 JS
- 支持离线填写、本地保存/重载 XML 数据
- 一次编写,可渲染到手机、桌面甚至语音界面(靠不同呈现引擎)
入门要做的三件事
想立刻跑起第一个 XForms 页面,得先搭好环境:
- 装支持插件:Firefox 曾原生支持,现需手动安装 XForms 扩展;IE/Seamonkey 也有对应扩展;Orbeon、IBM Forms 等平台提供完整运行时
- 用正确命名空间:xmlns:xf="http://www.w3.org/2002/xforms" 必须声明
- 结构不能少三块:模型(
)、实例( )、界面控件(如 )
典型代码长什么样
比如一个带校验的年龄输入:
对于一个刚进入PHP 开发大门的程序员,最需要的就是一本实用的开发参考书,而不仅仅是各种快速入门的only hello wold。在开发的时候,也要注意到许多技巧和一些“潜规则”。PHP是一门很简单的脚本语言,但是用好它,也要下功夫的。同时,由于PHP 的特性,我一再强调,最NB 的PHP 程序员都不是搞PHP 的。为什么呢?因为PHP 作为一种胶水语言,用于粘合后端 数据库和前端页面,更多需
这里没写一行 JS,但已实现:必须填、只能是 0–120 整数、错误时自动提示。
学什么内容最实用
不必通读全部规范,优先掌握这些模块:
- XForms 模型:理解 instance + bind + submission 的协作关系
- XPath 在 ref/bind/constraint 中的用法:这是数据寻址的唯一语言
- 常用 UI 控件:input、select、upload、repeat(用于列表)
- 行为(action):比如点击按钮触发计算总金额、切换视图、保存本地文件









