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

时间:2016-10-30 01:23:13

标签: php html xml forms xforms

XForms是和/或是支持结构化表单数据的XML标记。它是从XML发展而来的标准,旨在轻松集成到其他当前标记语言中,如XHTML,ODF或SVG,或任何适当的标记语言"以及提供多平台和多浏览器支持。更多项目目标在我在下面链接的工作组页面上声明。

当我正在研究用php处理表单时,我注意到PHP Features页面支持在php中处理XForms,但是我不知道XForms是什么,所以搜索开始了。

从W3C网站的XForms工作组页面(制定网络标准的人员),我们写了#34;表格工作组于2015-04-08"正式关闭。它还表示可以继续通过XForms用户社区组开展工作,但自2015年10月以来,用户社区组尚未正式发布,除了询问XForms延续的人员。

该小组似乎一直致力于XForms的2.0版本,但它似乎从未发布过,因为W3C Standards页面显示自2012年8月以来的2.0版草案,而1.1版本是最新版本这也与下文有关。

为了更好地理解替代XForms的替代方案,从W3C网站的XForms页面可以看出,XForms和HTML表单之间的主要区别,除了XForms是XML格式之外,"是数据的分离从控制的标记收集收集个人价值"。因此,作为XForms页面上的示例,不是将HTML硬编码到表单中以呈现特定方式,而是使用XForms架构,并且设备,浏览器或应用程序检测表单中的数据类型并根据需要呈现数据。平台,例如表格数据输入类型'选择','输入'秘密''上传'以及XForms团队定义的其他人。

有没有人知道XForms上是否还有工作要继续,或者它是否已经过时或者已经死亡的标准已经过时并被未来的软件所取代?

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

感谢您的帮助。我离XForms或其用途的专家不远,所以如果我发现任何错误信息,请纠正我。另外,我不能在这篇文章中发布超过2个链接,所以我会在评论中留下其他相关链接。

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

类似帖子:Is XForms still a live standard?

PHP功能:http://php.net/manual/en/features.php

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

4 个答案:

答案 0 :(得分:17)

背景

我写的是前XForms工作组成员,以及当前的XForms社区组成员(见下文)。以下是个人意见。

XForms和XForms 2.0的状态

关于W3C网站上有关XForms的大量信息已经过时,所以我不会把你在那里读到的所有东西(如果有的话)当作福音,但W3C关闭XForms工作组是正确的(和他们这样做时有点不尊重,我可以补充说。)

这个小组已经有一段时间未知,希望有一个recharter,但这并没有发生。我应该说,W3C的任何XML活动在这一点上都是非常低优先级的,即使对于像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相关的规范
  • 专注于表单(而不是完整的应用程序开发)
  • 将控件外观与实现分开
  • 提供类似电子表格的数据依赖关系模型
  • 一般来说非常具有声明性,包括提示,帮助和提醒本机概念

此外,XPath 2.0 / 3.x还提供了一种令人惊讶的灵活语言,可将属性,计算和控件绑定到数据模型。我认为现在很难打败。

当前的XForms实现

目前有一些XForms的实现,包括XSLTForms和Orbeon Forms(我工作)。

早在2000年代早期,公开宣称的目标是让XForms最终替换 HTML表单,并且从这个角度来看,浏览器插件和Firefox实现已经开发出来,这个想法目前还不是<他们非常很长时间。

多年来,XForms根本不依赖本机浏览器支持。所有XForms都可以用纯JavaScript,客户端/服务器部件组合或本机应用程序实现。

XForms的替代品

基于上面列出的几点,我不知道XForms的任何其他替代品。

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

如果您处理XML数据,或者至少不介意XML,XForms仍然是 2016 2019中的现代解决方案。您可以查看现有的实现或实现自己的实现(尽管这不是一件容易的事。)

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

有许多使用各种底层技术的UI框架(JavaScript可能在这里排在第一位,但你也可以计算TypeScript,Elm,Scala等),它们在不断发展。这些可以被认为是替代方案,因为它们允许您构建用户界面和复杂的表单。一些框架对依赖项等内容有很好的支持,一些框架专注于提供良好的UI控件,一些框架专注于UI更新模型等。

但我还没有找到一个覆盖所有基础的框架,就像XForms一样,尽管没有任何东西可以防止将来发生这种情况。

答案 1 :(得分:9)

标准制定工作停止的事实并不意味着标准已经死亡,这意味着它是稳定的。例如,在开发XML本身方面没有积极的工作,这基本上意味着已达成共识,即当前形式的标准符合其要求。如果人们在停止添加铃声和口哨声时重新识别,可能会有更多标准受益。

XForms是创新少数用户非常成功部署的标准之一,但由于某种原因,它从未与群众接触过。它当然不是死标准。令人遗憾的是,浏览器本身并不支持它,但是有很好的客户端和服务器端实现可用,并且许多用户将证明它带来的生产效率优于手工编码Javascript中的东西。

答案 2 :(得分:5)

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

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

没有办法告诉公司什么时候使用XForms,所以我所知道的只有当组织中有人向我提及时。 我听过的一些是:

荷兰政府部门,英国政府部门,美国汽车部门,英国国家健康服务中心,英国广播公司,荷兰气象局,荷兰土地登记处,英国保险业,EMC,NASA,CMC,美国海军,德国造船厂,施乐,雅虎。名单很长。

也有一些不错的故事。最近的一个来自英国国家卫生服务中心,该服务开始了一个健康记录系统项目:

  • 涉及70人
  • 耗资1000万英镑。
  • 仅硬件成本为每位患者5英镑。
  • 失败了。

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

  • 每名患者的硬件费用为1便士
  • 它在Raspberry Pi上运行
  • 目前正在5家NHS医院开展工作。

XForms还有许多其他例子可以节省大笔资金。

有许多有效的实施,包括:

  • CM Pro(荷兰),
  • 发明设计师(比利时),
  • BetterForm *(德国),
  • XSLTForms *(法国),
  • Jadu(英国),
  • Orbeon *(美国),
  • Enketo(美国)。

XForms也是OpenOffice *和LibreOffice *

的一部分

* =开源

我们在阿姆斯特丹每年举办一次XForms日活动。下一个将在五月。我将在我的主页上发布详细信息,您可以通过Google搜索我的名字。

史蒂文彭伯顿

答案 3 :(得分:4)

如果您正在寻找可用的软件,这些工具是成熟的XForms实施,并得到其创建者和/或社区的广泛支持:

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