XForms是和/或是支持结构化表单数据的XML标记。它是从XML演变而来的标准,旨在易于集成到其他当前的标记语言(例如XHTML,ODF或SVG)或任何“合适的标记语言”中,并提供多平台和多浏览器支持。我在下面链接的“工作组”页面上声明了更多的项目目标。

在研究使用php处理表单的过程中,我注意到“PHP功能”页面提供了在php中处理XForms的支持,但是可惜我不知道XForms是什么,所以开始了搜索。

在W3C网站的XForms工作组页面(制定Web标准的人)中写道:“Forms工作组于2015-04-08正式关闭”。它还说,工作可能会继续在XForms用户社区小组中进行,但是自2015年10月以来,该用户社区小组尚未正式发布,除了询问XForms延续性的人之外。

该小组似乎一直在研究XForms的2.0版,但似乎从未发布过,因为W3C标准页面自2012年8月起将2.0版作为草稿,而1.1版是2009年发布的最新版本。在下面也链接。

为了更好地理解哪些替代品可以替代XForms,在W3C网站上的XForms页面上,XForms和HTML表单之间的主要区别在于,除了XML形式的XForms之外,“是将收集的数据从标记中分离出来。控件收集各个值”。因此,作为XForms页面上的示例,而不是将HTML硬编码到表单中以呈现特定的方式,而是使用XForms模式,并且设备,浏览器或应用程序会检测表单中的数据类型并根据需要呈现数据。平台,例如表单数据输入类型“选择”,“输入”,“ secret ”,“上载”以及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/

最佳答案

背景

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

XForms和XForms 2.0的状态

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

该小组已经未知一段时间了,希望能进行重新注册,但是那没有发生。我应该说,就目前而言,W3C上任何XML Activity 对于组织来说都是非常低的优先级,即使对于相对较成功的技术(例如XSLT和XQuery)也是如此。

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

  • XForms 2.0
  • XPath Expressions Module

  • 一旦完成了规范,如果有兴趣,可以重新组建一个新的工作组,但这不是给定的。这将是使XForms 2.0成为正式的W3C建议的必经之路。

    如果这没有发生,那么XForms 2.0草案仍然可供任何人查看和实现。它没有建议书的力量,但是无论如何,该力量一直是非常相对的。

    是什么使XForms与众不同?

    以下内容并不完整,但是我认为这些是将XForms与众不同的一些主要方面:
  • 是规范而不是实现
  • 将XML用于数据模型和其他与XML相关的规范
  • 专注于表单(而不是成熟的应用程序开发)
  • 将控件外观与实现
  • 分开
  • 提供类似于电子表格的数据依赖关系模型
  • 本质上通常具有声明性,包括提示,帮助和警告本地概念

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

    当前的XForms实现

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

    早在2000年代初,人们就曾宣称要让XForms最终替代HTML表单,并且从这个角度来看,浏览器插件和Firefox实现得到了发展,但是这个想法已经很长时间没有出现了。

    多年来,XForms完全不依赖于 native 浏览器支持。所有XForms都可以用纯JavaScript或客户端/服务器部分的组合或在 native 应用程序中实现。

    XForms的替代品

    基于以上几点,我不知道XForms的任何替代方案。

    session 室里的大象是XForms基于XML技术堆栈,并且有证据表明XML不再风靡一时(这是一种轻描淡写)。但是XML仍然在许多上下文中被广泛使用,这是要牢记的。

    如果您处理XML数据,或者至少不介意XML,那么XForms在2016 2019年仍将是一个现代的解决方案。您可以研究现有的实现方式或实现自己的实现(尽管这并不简单)。

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

    有很多使用各种基础技术的UI框架(JavaScript可能在这里排名第一,但您还可以算作TypeScript,Elm,Scala等)在不断发展。这些可以被视为替代方案,因为它们使您可以构建用户界面和复杂的表单。有些框架确实对诸如依赖项之类的东西提供了很好的支持,有些专注于提供漂亮的UI控件,有些则关注UI更新模型等。

    但是我还没有找到一个框架可以像XForms那样很好地覆盖所有基础,尽管没有什么可以阻止这种情况将来发生。

    10-05 18:05