XForms 是否仍然是正在实施和开发的标准,或者是否有替代方案或正在开发?

Is XForms still a standard that is being implemented and developed, or is there an alternative in place or being developed?

XForms and/or 是一个支持结构化表单数据的 XML 标记。它是从 XML 演变而来的标准,旨在轻松集成到其他当前标记语言中,例如 XHTML、ODF 或 SVG,或任何 "suitable markup language",并提供多平台和多浏览器支持。我在下面链接的工作组页面上声明了更多项目目标。

当我研究使用 php 处理表单时,我注意到 PHP 功能页面支持在 php 中处理 XForms,但遗​​憾的是我不知道什么是 XForms是,所以开始搜索。

W3C 网站的 XForms 工作组页面(制定 Web 标准的人)写道 "The Forms Working Group was officially closed on 2015-04-08"。它还表示,工作可能会通过 XForms 用户社区组继续进行,但自 2015 年 10 月以来,用户社区组尚未正式 post,除了询问 XForms 继续存在的人之外。

该小组似乎一直在研究 XForms 的 2.0 版,但它似乎从未发布,因为 W3C 标准页面显示 2.0 版是自 2012 年 8 月以来的草案,而 1.1 版是最新版本2009 年发布。这也在下面链接。

为了更好地理解哪些替代方案可能会取代 XForms,W3C 网站的 XForms 页面指出 XForms 和 HTML 表单之间的主要区别,除了 XForms 在 XML 中, "is the separation of the data being collected from the markup of the controls collecting the individual values"。因此,作为 XForms 页面上的示例,不是将 HTML 硬编码到表单中以呈现特定方式,而是使用 XForms 模式,设备、浏览器或应用程序检测表单中的数据类型并呈现适用于平台的数据,例如表单数据输入类型 'select'、'input'、'secret'、'upload' 以及 XForms 团队定义的其他类型。

有谁知道 XForms 是否仍在继续工作,或者它是否已过时或将被未来的软件取代?

此外,是否有人知道已经实施或正在开发的任何替代方案来替代 XForms 和类似软件?

感谢您的帮助。我远不是 XForms 或其用途方面的专家,所以如果我提供了任何错误信息,请纠正我。另外,我不能在这个 post 中 post 超过 2 个链接,所以我会在评论中留下其他相关链接。

编辑:我也觉得 2011 年提出的关于这个主题的类似问题已经过时,并且没有能力在社区中找到替代软件。

相似Post:Is XForms still a live standard?

PHP 特点:http://php.net/manual/en/features.php

W3 XForms 2.0 草案:https://www.w3.org/TR/xforms20/

标准开发工作停止的事实并不意味着该标准已死,这意味着它是稳定的。例如,XML 本身没有积极的开发工作,这基本上意味着当前形式的标准满足其要求已达成共识。如果人们认识到何时该停止添加花里胡哨的东西,可能会有更多的标准受益。

XForms 是其中一种标准,它已被少数具有创新精神的用户非常成功地部署,但由于某种原因,从未受到大众的欢迎。它当然不是死标准。遗憾的是,浏览器本身并不支持它,但有很好的客户端和服务器端实现可用,许多用户将证明它带来的生产力优势,而不是在 Javascript 中手动编码相同的东西.

背景

我是作为前 XForms 工作组成员和现任 XForms 社区组成员(见下文)写作的。以下为个人看法。

XForms 和 XForms 2.0 的状态

W3C 站点上有关 XForms 的很多信息都已过时,因此我不会把您在那里读到的所有内容(如果有的话)当作福音,但 W3C 关闭 XForms 工作组(和他们这样做有点不尊重,我可能会补充)。

该小组已经有一段时间没有被安排,希望重新安排,但那没有发生。我应该说,目前 W3C 的任何 XML activity 对于组织来说都是非常 low-priority,即使对于像 XSLT 和 XQuery 这样相对更成功的技术也是如此。

但是,截至 2016 2019 年,在 XForms community group 的上下文中继续进行 XForms 2.0 的工作。这是一个小团体,尽管由 W3C 主持,但它不是官方的 W3C 工作组。任何人都可以加入该组。我们每周举行一次电话会议 ,并希望在今年 完成 XForms 2.0 规范。您可以在此处找到当前的规范草案:

一旦规范完成,如果有兴趣,一个新的工作组 可能会 重新规划,但这不是给定的。这将是使 XForms 2.0 成为官方 W3C 推荐标准的必要途径。

如果那没有发生,那么 XForms 2.0 草案将仍然存在,任何人都可以查看和实施。它没有推荐的力量,但无论如何,这种力量一直都是相对的。

是什么让 XForms 与众不同?

以下内容并不完整,但我认为这些是 XForms 与众不同的一些主要方面:

  • 成为规范而不是实施
  • 使用 XML 作为数据模型和其他 XML-related 规范
  • 专注于 表单(而不是 full-fledged 应用程序开发)
  • 将控制外观与实现分开
  • 提供 spreadsheet-like 数据依赖模型
  • 通常在本质上非常明确,包括提供提示、帮助和提醒本地概念

此外,XPath 2.0/3.x 提供了一种非常灵活的语言来将属性、计算和控件绑定到数据模型。我认为在这一点上很难被击败。

当前的 XForms 实现

目前有一些 XForms 的实现,包括 XSLTForms 和 Orbeon Forms(我正在研究)。

早在 2000 年代初,公开宣称的目标是 XForms 最终 取代 HTML 表单,从这个角度来看,开发了浏览器插件和 Firefox 实现, 非常 很长一段时间以来,这个想法都不是最新的。

多年来,XForms 根本不依赖于本机浏览器的支持。所有 XForms 都可以在纯 JavaScript 中实现,或者结合 client/server 个部分,或者在本机应用程序中实现。

XForms 的替代品

根据上面列出的要点,我不知道 XForms 有任何接近的替代品。

房间里的大象是 XForms 基于 XML 技术堆栈,并且有证据表明 XML 不再风靡世界(这是轻描淡写的说法) .但是 XML 在许多情况下仍然被广泛使用,这一点需要牢记。

如果您处理 XML 数据,或者至少不介意 XML,XForms 在 20162019 年仍然是一个现代解决方案。您可能查看现有的实施或实施您自己的实施(尽管这并非微不足道)。

如果您根本不关心 XML,或者非常不喜欢它,那么 XForms 不是一个很好的解决方案(至少在它提供对其他数据模型和绑定语言的支持之前,例如 JSON / JavaScript). 更新:XForms 2.0 有一定程度的 JSON 支持。 选择当前的 UI 框架之一将是可行的方法,但它们在许多方面仍有不足方式。

有很多 UI 框架使用各种底层技术(JavaScript 可能在这里排名第一,但您也可以算上 TypeScript、Elm、Scala 等),它们在不断发展.这些可以被视为替代方案,因为它们允许您构建用户界面和复杂的表单。一些框架对诸如依赖关系之类的东西有很好的支持,一些专注于提供很好的 UI 控制,一些在 UI 更新模型上,等等

但我还没有找到像 XForms 那样涵盖所有基础的框架,尽管没有什么可以阻止将来发生这种情况。

如果您正在寻找工作软件,这些工具是成熟的 XForms 实现,得到了它们的创建者的广泛支持and/or 社区:

  • XSLTForms:Java任何浏览器的脚本插件 XML 和 Java脚本支持
  • betterFORM:服务端解决方案基于 Java。集成在 eXist-db 中
  • Orbeon Forms:商业解决方案 使用开源版本
  • Enketo: 是 XForms 引擎 包含在 Open Data Kit 中,它与 XForms 有一些不同 标准。

作为 XForms 小组的长期主席,我不需要对 Erik 已经说过的关于工作组和规范的内容做更多的补充。

然而,值得一提的是它是如何使用的,以及它的一些优点,因为当你在使用一个网站时,你永远不会知道它正在使用 XForms。

无法判断公司何时使用 XForms,所以我唯一知道的是组织中有人向我提及它。 我听说过的一些是:

几个荷兰政府部门,几个英国政府部门,美国机动车辆部,英国国家卫生局,英国广播公司,荷兰气象局,荷兰土地登记处,英国保险业,EMC,美国国家航空航天局, CMC、美国海军、德国造船厂、施乐、雅虎。名单很长。

也有一些不错的故事。最近的一个来自英国国家卫生服务局,它启动了一个健康记录系统项目:

  • 涉及70人
  • 它花费了 1000 万英镑。
  • 仅硬件成本一项就是每位患者 5 英镑。
  • 失败了。

然后一个人使用 XForms 创建了一个替换系统:

  • 每位患者的硬件成本为 1 便士
  • 它在 Raspberry Pi 的
  • 上运行
  • 现在有 5 家 NHS 医院 运行。

XForms 节省巨额资金的其他例子还有很多。

有许多活跃的实现,包括:

  • CM Pro(荷兰),
  • Inventive Designers(比利时),
  • BetterForm*(德国),
  • XSLTForms*(法国),
  • Jadu(英国),
  • Orbeon*(美国),
  • Enketo(美国)。

XForms 也是 OpenOffice* 和 LibreOffice* 的一部分

*=开源

我们在阿姆斯特丹举办了一年一度的 XForms 日。下一个将在五月。我会在我的主页上发布详细信息,您可以通过谷歌搜索我的名字找到它。

史蒂文·彭伯顿