跳转到内容

XForms

75% developed
来自维基教科书,开放的世界,开放的书籍
XForms
欢迎来到 XForms 教程和食谱维基教科书!

XForms 是 万维网联盟 推荐 的用于创建 Web 表单和 Web 应用程序的标准。它易于学习,提供丰富的用户体验,并且不需要你学习 JavaScript。

XForms 有很多不同的实现,这个食谱旨在与任何实现一起使用。在 W3C 网站 上有一个实现列表。

这是一个协作项目,我们鼓励所有使用 XForms 的人贡献他们完整的 XForms 工作示例。所有提交都必须在 知识共享署名-相同方式共享 2.5 许可证 下授权。

注意:本维基教科书中的许多示例仍然使用“nodeset”属性用于绑定规则、组和重复。大多数 XForms 系统(Orbeon 和 betterForm)现在使用“ref”属性,可能不再支持旧的“nodeset”属性。XSLTForms 1.0RC 不允许使用 @ref 代替 @nodeset,但从 rev.559 开始的版本支持使用 @ref 代替之前使用的 @nodeset。我们将相应地更新示例。

  1. 讲师:如果你正在使用本书学习或教授 XForms,请在我们的 访客登记簿 上签名。
  2. 贡献者:请查看我们的 命名约定,以确保你的示例与教科书一致。
  3. 如果你正在寻找特定示例程序,请随时使用 想要示例 部分。

如果你觉得这些示例有用,请创建到本网站的链接。本书有超过 30 位贡献者。

最近更改 图书统计

相关维基教科书:XQuery XForms/REST/XQuery

注意:几乎所有示例都已在 FireFox 2.0 XForms 附加组件和更新的 0.8.6ff3 FireFox 3.0 附加组件中进行了测试。如果你发现任何错误,请告知我们。

介绍

  1. 介绍 - 关于本书和技术的概述。 100% developed  as of Sept 27th, 2006
  2. 背景 - XForms 标准的简要历史、理论和动机。 100% developed  as of Sept 27th, 2006
  3. 优点 - 为什么使用 XForms? 100% developed  as of Sept 27th, 2006
  4. 安装和测试 - 如何安装 XForm 插件或扩展。 100% developed  as of Sept 27th, 2006
  5. 命名约定 - 本书中使用的命名标准。 100% developed  as of March 17th, 2006
  6. XForms 产品比较 - 对 XForms 产品的比较 25% developed  as of February 17th, 2010

XForms 概览

这些示例适用于刚入门的人。

  1. HelloWorld - 一个简单的测试,用于查看 XForms 是否已正确安装。 100% developed  as of Sept 6th, 2006
  2. 简单消息 - 打开一个带有消息的面板 100% developed  as of Sept 13th, 2006
  3. XForms 架构 - 对 XForms MVC 架构的介绍 100% developed  as of March 17th, 2007
  4. 输入示例 - 一个简单的输入,它会更新模型 100% developed  as of Sept 13th, 2006
  5. 增量多对一 - 一个输入字段如何改变多个输出控件 100% developed  as of Sept 13th, 2006
  6. 类似电子表格的更新 - XForms 如何跟踪需要更新的字段 100% developed  as of Sept 6th, 2006
  7. 绑定 - 如何使用 bind 元素将输入绑定到模型 100% developed  as of Sept 6th, 2006
  8. 加法器 - 使用远程 Web 服务对两个数字求和的 XForm 示例 100% developed  as of Aug 6th, 2007

控件

  1. 输入 - 一个带有标签的简单输入表单 100% 开发于 2006 年 9 月 6 日
  2. 地址 - 一个带有标签的简单地址表单 100% 开发于 2006 年 9 月 20 日
  3. 地址对齐 - 使用 CSS 对齐字段 100% 开发于 2006 年 9 月 20 日
  4. 输入字段宽度 - 使用 CSS 控制字段宽度 100% 开发于 2006 年 10 月 23 日
  5. 秘密 - 一种输入密码的方式 100% 开发于 2006 年 9 月 27 日
  6. 消息类型 - 三种消息类型 100% 开发于 2006 年 9 月 6 日
  7. 文本区域 - 一大块文本 100% 开发于 2006 年 9 月 6 日
  8. 带样式的文本区域 - 使用 CSS 样式化文本区域 100% 开发于 2007 年 1 月 19 日
  9. 复选框 - 一个简单的布尔(是/否)复选框 100% 开发于 2007 年 9 月 14 日
  10. 从列表中选择项目
    1. Select1 - 新的单选按钮 100% 开发于 2006 年 9 月 6 日
    2. Select1 下拉列表 - 从下拉列表中选择一个选项 100% 开发于 2006 年 9 月 6 日
    3. 开放选择 - 建议一个值或允许用户添加自己的值 100% 开发于 2007 年 8 月 12 日
    4. Select - 选择多个(复选框) 100% 开发于 2006 年 9 月 15 日
    5. 多列选择 - 从多列中选择多个项目(复选框) 100% 开发于 2006 年 12 月 29 日
    6. Select1 多列 - 从多列中选择一个项目(单选按钮) 100% 开发于 2006 年 12 月 29 日
    7. 从模型中选择 - 从模型中获取选择列表的数据 100% 开发于 2006 年 9 月 26 日
    8. 从文件中选择代码 - 从外部文件中获取选择列表的数据 100% 开发于 2006 年 9 月 26 日
  11. 使用日期
    1. 选择日期 - 使用 bind 命令显示日历选择器 75% 开发于 2006 年 9 月 12 日
    2. 格式化日期 - 以 MM/DD/YYYY 格式显示日期 100% 开发于 2006 年 9 月 13 日
  12. 上传 - 从本地文件系统上传文件 截至 2006 年 9 月 6 日,已开发 50%
  13. 触发器 - 新按钮 截至 2006 年 9 月 6 日,已开发 100%
    1. 控制按钮外观 - 设置按钮标签、提示并使用图像 截至 2006 年 9 月 6 日,已开发 100%
  14. 范围 - 在表单中添加滑块 截至 2006 年 9 月 27 日,已开发 100%
  15. 发送 - 发送新的资源请求 截至 2009 年 10 月 14 日,已开发 25%
  16. 加载 - 动态加载更多资源到您的表单中 截至 2009 年 10 月 14 日,已开发 25%

绑定

  1. 选择文本 - 使用绑定表达式从各种文本消息中设置选择 截至 2010 年 11 月 17 日,已开发 25%

中等例子

这些示例假设您熟悉 XForms 概念和控件。

客户端字段验证

  1. 使用绑定进行验证 - 使用绑定表达式设置数据类型并提醒用户 截至 2009 年 10 月 14 日,已开发 50%
  2. 大小写验证 - 使用绑定表达式检查字段的大小写 截至 2009 年 10 月 14 日,已开发 50%
  3. 限制长度 - 使用操作在用户超过字段长度时发出警告 截至 2010 年 12 月 19 日,已开发 25%

服务器端字段验证

  1. 服务器端字段验证 - 将单个字段发送到服务器以验证字段内容

提交数据

  1. 提交 - 将您的 XML 数据保存到文件或 Web 服务器 截至 2006 年 9 月 6 日,已开发 25%
  2. 编码参数 - 编码提交参数 截至 2006 年 9 月 6 日,已开发 25%
  3. 更改提交中的命名空间 - 更改提交数据的命名空间前缀 截至 2009 年 10 月 23 日,已开发 50%
  4. 显示保存结果 - 保存后显示保存状态 截至 2013 年 7 月 12 日,已开发 25%

事件和条件

  1. 事件概述 - 什么是 XForms 事件以及如何使用它们 截至 2008 年 12 月 29 日,已开发 25%
  2. 设置初始光标 - 在表单加载时设置初始光标位置 截至 2008 年 1 月 7 日,已开发 75%
  3. 选中和取消选中事件 - 在选项卡被选中或取消选中时记录事件 截至 2009 年 4 月 1 日,已开发 25%
  4. 条件操作

输出

  1. 绑定到多个实例 - 绑定到多个模型中的多个实例 截至 2006 年 9 月 20 日,已开发 50%
  2. 绑定到范围 - 绑定到两个不同的范围 截至 2006 年 9 月 20 日,已开发 75%
  3. 重复 - 使用重复来显示列表 截至 2006 年 9 月 20 日,已开发 75%
  4. 条件样式 - 使用 CSS 和分组来有条件地显示列表中的项目 截至 2008 年 2 月 26 日,已开发 75%
  5. 数字格式化 - 如何格式化数字和货币 截至 2009 年 2 月 26 日,已开发 25%
  6. 输出和链接 - 如何在您的输出中显示链接 截至 2008 年 2 月 26 日,已开发 75%

动态表单

随着您使用而改变的表单。无需使用 Javascript 的动态表单 截至 2006 年 9 月 6 日,已开发 75%

  1. 开关和情况 - 使用开关和情况来切换视图 截至 2006 年 11 月 7 日,已开发 25%
  2. 相关 - 只显示相关字段 截至 2006 年 9 月 6 日,已开发 25%
  3. 重复中的绑定 - 在重复元素内绑定 截至 2010 年 2 月 3 日,已开发 25%
  4. 显示-隐藏控件 - 隐藏大型控件 截至 2009 年 7 月 12 日,已开发 25%
  5. 禁用按钮 - 如何在按钮不相关时禁用它们 截至 2007 年 9 月 24 日,已开发 25%
  6. 只读 - 将输入字段设置为只读 截至 2006 年 9 月 6 日,已开发 100%
  7. 选择和分组 - 使用选择来有条件地显示一个分组 截至 2006 年 11 月 8 日,已开发 100%
  8. 动态标签 - 在不重新加载页面的情况下动态更改表单的标签 截至 2007 年 9 月 21 日,已开发 75%
  9. 建议项目 - 在您输入时创建一个建议项目的列表 截至 2008 年 1 月 21 日,已开发 75%
  10. 动态选择列表 - 动态依赖于 xml 实例值的项目集 截至 2008 年 3 月 6 日,已开发 75%
  11. 增量模型加载 - 动态加载其他模型 截至 2000 年 4 月 2 日,已开发 25%
  12. 本地语言动态标签 - 在不重新加载页面的情况下动态更改表单的本地语言标签 截至 2010 年 7 月 28 日,已开发 100%

搜索表单

  1. 搜索表单 - 创建一个搜索表单 截至 2008 年 1 月 13 日,已开发 75%
  2. 使用加载搜索 - 使用加载元素创建一个搜索表单 截至 2009 年 10 月 15 日,已开发 75%
  3. 高级搜索 - 带有简单和高级选项卡的搜索屏幕 截至 2009 年 1 月 13 日,已开发 25%
  4. 日期范围搜索 - 搜索具有日期范围的项目 截至 2010 年 5 月 14 日,已开发 25%
  5. 搜索 Flickr - 使用 REST 接口搜索 Flickr 截至 2006 年 9 月 6 日,已开发 100%
  6. Web 服务 - 从 XForm 中调用 Web 服务 截至 2006 年 10 月 5 日,已开发 75%
  7. 股票报价 - 调用 REST 服务,从股票代码获取股票信息 截至 2006 年 11 月 9 日,开发完成 25%
  8. 搜索亚马逊 - 使用网络服务搜索亚马逊 截至 2006 年 10 月 18 日,开发完成 100%
  9. 增量查找 - 键入时,选择列表会缩小 截至 2010 年 2 月 1 日,开发完成 25%

高级表单

大型示例

  1. CKEditor - 允许用户使用 WYSIWYG 编辑器添加标记 截至 2008 年 10 月 16 日,开发完成 25%
  2. 幻灯片 - 在幻灯片中更改图像 截至 2008 年 1 月 21 日,开发完成 75%
  3. 引用项目 - 引用集合中的项目 截至 2008 年 2 月 25 日,开发完成 75%
  4. 深度复制带插入来源 - 使用插入来源在模型中执行实例之间的深度复制 截至 2008 年 3 月 6 日,开发完成 75%
  5. 在文本框中插入 BBcode 的触发器
  6. 多部分表单 - 如何保持初始加载时间短 截至 2010 年 7 月 14 日,开发完成 25%
  7. 在列表之间移动项目 - 如何在列表之间移动选定项目 截至 2011 年 7 月 27 日,开发完成 25%
  8. 队列管理 - 如何管理排序队列中的项目 截至 2011 年 7 月 28 日,开发完成 25%

使用标签和树 - 浏览复杂表单数据 截至 2006 年 9 月 6 日,开发完成 0%

  1. 水平文件标签菜单 - 一个完整的运行示例,无需 Javascript 截至 2006 年 9 月 6 日,开发完成 100%
  2. 水平文件标签菜单突出显示 - 使用 CSS 目标突出显示选定标签的标签菜单 截至 2006 年 9 月 6 日,开发完成 100%
  3. 垂直菜单 - 与先前版本类似的菜单,但使用垂直方向 截至 2006 年 9 月 6 日,开发完成 100%
  4. 在模型中存储标签 - 在模型中存储标签,并使用重复显示标签 截至 2010 年 9 月 6 日,开发完成 25%
  5. 折叠菜单 - 折叠菜单
  6. 树菜单 - 层次树菜单 截至 2009 年 3 月 18 日,开发完成 25%
  7. 取消选择事件 - 当您从表单导航离开时捕获取消选择事件
  8. 使用绑定突出显示水平文件标签菜单 - 另一个使用实例、绑定、事件和 CSS 的水平文件标签菜单 截至 2009 年 1 月 6 日,开发完成 100%
  9. 层次书签 - 编辑书签 截至 2006 年 9 月 6 日,开发完成 100%
  10. 大纲编辑器 - 带缩进的大纲 截至 2007 年 2 月 5 日,开发进度为 25%

读写文件

  1. 使用 get 和 put 进行读写 - 使用提交元素读写静态数据 截至 2006 年 9 月 27 日,开发进度为 75%
  2. 保存中间表单数据 - 将中间表单数据保存到本地驱动器 截至 2006 年 9 月 27 日,开发进度为 25%

复合控件

组合控件的控件

  1. 三文档加载 - 三种上传文档的方式 截至 2009 年 7 月 6 日,开发进度为 25%
  2. 实体选择 - 选择人和组织的方式 截至 2009 年 7 月 7 日,开发进度为 25%

表格和重复数据

  1. 重复到表格 - 将数据放入 HTML 表格 截至 2006 年 9 月 27 日,开发进度为 25%
  2. 重复过滤 - 动态地从列表中过滤掉行 截至 2007 年 8 月 23 日,开发进度为 50%
  3. 内联重复 - 水平地向右侧添加结构 截至 2008 年 2 月 24 日,开发进度为 100%
  4. 插入 - 将新行插入表格结构 截至 2006 年 9 月 20 日,开发进度为 100%
  5. 使用源插入 - 插入新数据并使用源属性指定初始值 截至 2008 年 2 月 27 日,开发进度为 75%
  6. 删除 - 从表格结构中删除选定的行 截至 2006 年 9 月 20 日,开发进度为 100%
    1. 禁用触发器 - 当只剩下一个项目时禁用删除按钮 截至 2007 年 10 月 22 日,开发进度为 50%
    2. 删除确认 - 删除前确认 截至 2006 年 9 月 20 日,开发进度为 25%
    3. 使用 CSS 确认删除 - 使用 CSS 样式化您的确认框 截至 2007 年 3 月 20 日,开发进度为 75%
    4. 尾部插入和删除 - 在列表末尾添加和删除 截至 2006 年 9 月 27 日,开发进度为 100%
    5. 在表格中插入和删除 - 在表格中插入和删除行 截至 2007 年 11 月 4 日,开发进度为 100%
    6. 代码表编辑器 - 在参考数据代码表中插入和删除行 截至 2017 年 1 月 4 日,开发进度为 50%
  7. 突出显示选定行 - 突出显示选定的行 截至 2006 年 9 月 27 日,开发进度为 50%
  8. 表格列总计 - 表格底部带有列总计的表格 截至 2006 年 12 月 6 日,开发进度为 100%
  9. 多个上传 - 使用重复功能将多个上传附加到表单 截至 2013 年 9 月 23 日,开发进度为 25%
  10. 摘要详情 - 表格顶部的摘要信息表允许您检查每个项目的详细信息 截至 2013 年 2 月 26 日,开发完成 25%

XML 架构

  1. 从 XML 架构加载 - 从外部 XML 架构文件加载数据类型 截至 2006 年 10 月 9 日,开发完成 75%
  2. 验证 - 使用 XML 架构验证表单 截至 2006 年 10 月 9 日,开发完成 25%
  3. 使用架构类型验证 - 使用 XML 架构类型验证表单 截至 2006 年 10 月 30 日,开发完成 75%
  4. 分面验证 - 从 XML 架构检查字段的最小和最大长度 截至 2006 年 10 月 10 日,开发完成 75%
  5. SVG

JavaScript

  1. 动态加载 JavaScript - 动态加载 JavaScript 程序的示例 截至 2007 年 3 月 19 日,开发完成 25%

添加图表、图表和地图

  1. 饼图 - 使用范围控件绘制饼图 截至 2007 年 9 月 17 日,开发完成 75%
  2. Google 图表 - 使用 Google 图表 REST 网络服务 截至 2008 年 1 月 20 日,开发完成 25%
  3. 韦恩图 - 使用范围控件更改韦恩图参数 截至 2008 年 1 月 20 日,开发完成 25%
  4. 供求关系 - 使用范围控件更改价格,并查看对需求的影响 截至 2007 年 10 月 10 日,开发完成 25%
  5. 图形查看器 - 查看节点和链接的图形 截至 2007 年 4 月 23 日,开发完成 75%

开发工具

  1. 事件记录器 - 如何记录事件的演示 截至 2008 年 1 月 8 日,开发完成 50%
  2. 替换测试器 - 测试正则表达式替换 截至 2007 年 11 月 5 日,开发完成 50%
  3. 流程步骤编辑器 - 编辑水平流程步骤列表 截至 2008 年 2 月 17 日,开发完成 50%
  4. 应用程序构建器 - 用于创建表单管理应用程序的表单 截至 2008 年 2 月 22 日,开发完成 25%
  5. 仪表盘构建器 - 用于指定单页仪表盘布局的表单 截至 2008 年 5 月 15 日,开发完成 25%
  6. URL 重写器 - 配置和测试 Jetty URL 重写规则的表单 截至 2008 年 10 月 30 日,开发完成 25%
  7. Web 服务测试器 - 用于测试 Web 服务的表单 截至 2008 年 11 月 21 日,开发完成 25%
  8. 同义词集编辑器 - 将同义词集与业务术语相关联 截至 2008 年 3 月 25 日,开发完成 75%

其他示例

  1. W2 税务表格 - 基于 Mozilla XForms 站点的示例税务表格 截至 2006 年 9 月 6 日,开发完成 25%
  2. 发票管理器 - 发票管理器 截至 2008 年 10 月 13 日,开发完成 25%
  3. 计算器 - 一个四则运算计算器 100% 已开发 截至 2006 年 9 月 6 日
  4. 犯罪档案 - 刑事司法中使用的复杂表单示例 50% 已开发 截至 2008 年 3 月 6 日
  5. CSS 表格 - 使用 CSS 格式化表格输出,无需使用 HTML 表格 50% 已开发 截至 2006 年 9 月 20 日
  6. 自定义控件 - 使用 XBL 的自定义控件示例 75% 已开发 截至 2006 年 10 月 17 日
  7. 导航离开时警告 - 在保存之前警告用户是否导航离开 75% 已开发 截至 2007 年 3 月 19 日
  8. 全选 - 选择表格中的所有行 25% 已开发 截至 2007 年 7 月 25 日
  9. 谷歌地图 - 在 XForms 中使用 Google Maps 的示例 0% 已开发 截至 2007 年 11 月 5 日
  10. 使用 XSLT 排序 - 使用 XSLT 样式表对实例进行排序的示例 75% 已开发 截至 2007 年 6 月 19 日

移动 XForms

  1. 移动 XForms - 基于 XForms 的移动应用程序示例 25% 已开发 截至 2007 年 7 月 7 日

客户端 XForms 解决方案

  1. FireFox 扩展
  2. FormFaces
  3. Picoforms
  4. Ubiquity XForms - http://code.google.com/p/ubiquity-xforms/
  5. XSLTForms - 开源的客户端实现,不是插件或安装,适用于所有主要浏览器(IE、FireFox、Opera、Safari、Chrome 等)。
  6. EMC Documentum Formula - 客户端实现,开发者免费使用。

服务器端解决方案

  1. Apache - 配置 Apache 以与 XForms 协同工作 25% 已开发 截至 2007 年 2 月 15 日
  2. 使用 WebDAV 和 Subversion 对表单数据进行版本控制 - 使用 Subversion 和 WebDAV 自动对表单数据进行版本控制
  3. IIS - 配置 Microsoft 的 IIS 以与 XForms 协同工作 0% 已开发 截至 2007 年 2 月 15 日
  4. XML 数据库 - 使用原生 XML 数据库与 XForms 协同工作 0% 已开发 截至 2007 年 2 月 15 日
  5. eXist - 使用 eXist 开源原生 XML 数据库 50% 已开发 截至 2007 年 2 月 15 日
  6. IBM DB2 - 使用 DB2 v9 与 XForms 协同工作 25% 已开发 截至 2007 年 3 月 19 日
  7. Orbeon Forms - 开源的基于 Ajax 的 XForms 实现(也附带 Form Builder 编辑器) 0% 已开发 截至 2007 年 11 月 5 日
  8. betterFORM - 使用 Dojo 工具包的开源 Java 实现,用于客户端 AJAX 层

开发工具

  1. 表单生成器
  2. NIEM 到 XForms
  3. 表单设计器
  4. IBM Workplace Forms
  5. Intalio Form Designer
  6. 调试 XForms

符号密钥

维基教科书开发阶段
稀疏文本 0% 开发文本 25% 成熟文本 50% 已开发文本 75% 综合文本 100%

指示 XForms/最佳实践

华夏公益教科书