Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

XForms was and/or is an XML markup that supports structured form data. It is a standard evolved from XML and was designed to be easily integrated into other current markup languages such as XHTML, ODF or SVG, or any "suitable markup language" as well as offer multi-platform and multi-browser support. More project goals are declared on the Working Group page I've linked below.

As I was doing research for handling forms with php, I noticed the PHP Features page offers support for handling XForms in php, but alas I did not know what XForms was, so the search began.

From the XForms Working Group page at the W3C website (the people who make the web standards) it's written that "The Forms Working Group was officially closed on 2015-04-08". It also says work may continue through the XForms user community group, but the users community group hasn't been officially posted on since October of 2015, except for that of people inquiring about the continuation of XForms.

The group seemed to have been working on a version 2.0 of XForms but it seems that it was never released since the W3C Standards page shows version 2.0 as a draft since August of 2012, and version 1.1 being the latest version which released in 2009. This is also linked below.

To better understand what alternatives might replace XForms, from the XForms page at the W3C website it is stated that the primary difference between XForms and HTML forms, apart from XForms being in XML, "is the separation of the data being collected from the markup of the controls collecting the individual values". So, as an example on the XForms page, instead of hardcoding HTML into the form to render a specific way, the XForms schema is used, and the device, browser or application detects the data type in the form and renders the data as appropriate for the platform, such as form data input types 'select', 'input', 'secret', 'upload' and others that the XForms team has defined.

Does anyone know if there is still work continuing on XForms or is it a dead or to-be-dead standard to be outdated and replaced by future software?

Also, does anyone know of any alternatives that have been put into place, or are being developed to replace XForms and software of the like?

Thanks for helping. I'm nowhere near an expert on XForms or its uses so if I've given any misinformation please correct me. Also, I cannot post more than 2 links in this post so I will leave the other related links in the comments.

EDIT: I also felt that the similar question asked in 2011 on this topic was outdated and not equipped to find software alternatives in the community.

Similar Post: Is XForms still a live standard?

PHP Features: http://php.net/manual/en/features.php

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

like image 679
Devin Carpenter Avatar asked Oct 30 '16 01:10

Devin Carpenter


People also ask

Is XForms dead?

XForms is far from dead, and in many ways the sophistication needed in a true data-centric client framework is making XForms even more relevant today than it was a decade ago.

What happened to XForms?

Support for XForms was eventually deprecated in Firefox 19. IBM Lotus Forms supports development and deployment of XForms-based pure XML forms.


2 Answers

Background

I am writing as a former XForms Working Group member, and current XForms Community Group member (see below). The following is a personal opinion.

Status of XForms and XForms 2.0

A lot of information regarding XForms on the W3C site is obsolete, so I wouldn't take everything (if anything at all) you read there as gospel, but it is correct that W3C closed the XForms Working Group (and they did so with quite a bit of disrespect, I might add).

The group had been uncharted for a while, was hoping for a recharter, but that didn't happen. I should say that any XML activity at W3C is very low-priority for the organization at this point, even for the relatively more successful technologies like XSLT and XQuery.

However there is, as of 2016 2019, continued work on XForms 2.0 in the context of the XForms community group. This is a small group, which although hosted by W3C is not an official W3C Working Group. Anybody can join that group. We hold weekly calls and hope to complete the XForms 2.0 specification this year. You can find the current draft specification here:

  • XForms 2.0
  • XPath Expressions Module

Once the specification is done, if there is interest, a new Working Group might be recharted, but that is not a given. This would be a necessary path to make XForms 2.0 an official W3C Recommendation.

If that doesn't happen, then the XForms 2.0 draft will still be there for anybody to look at and implement. It doesn't have the force of a Recommendation but that force has always been very relative anyway.

What sets XForms apart?

The following is not complete but these are some of the top aspects which, I think, set XForms apart:

  • being a specification rather than an implementation
  • using XML for the data model and other XML-related specifications
  • focusing on forms (rather than full-fledged app development)
  • separating control appearance from implementation
  • providing a spreadsheet-like model of data dependencies
  • being in general very declarative in nature, including making hints, help, and alert native concepts

In addition, XPath 2.0/3.x makes for a surprisingly flexible language to bind properties, calculations, and controls to data models. I think that it is hard to beat at this point.

Current XForms implementations

There are a few current implementations of XForms out there, including XSLTForms and Orbeon Forms (which I work on).

While back in the early 2000s the avowed goal was for XForms to eventually replace HTML forms, and in this perspective browser plugins and the Firefox implementation were developed, that idea has not been current for a very long time.

For years now, XForms hasn't depended on native browser support at all. All of XForms can be implemented in pure JavaScript, or with a combination of client/server parts, or within native applications.

Alternatives to XForms

I am not aware of any close alternatives to XForms based on the points listed above.

The elephant in the room is that XForms is based on the XML stack of technologies, and there is evidence that XML is no longer taking the world by storm (that is an understatement). But XML is still widely used in many contexts, and that's something to keep in mind.

If you deal with XML data, or at least don't mind XML, XForms remains a modern solution in 2016 2019. You might look into existing implementations or into implementing your own (although that is not exactly trivial).

If you do not care about XML at all, or dislike it strongly, then XForms is not a great solution (at least until it provides support for additional data models and binding languages, like JSON / JavaScript). UPDATE: XForms 2.0 has some level of JSON support. Picking one of the current UI frameworks will be the way to go, but they still fall short in many ways.

There are lots of UI frameworks using various underlying technologies (JavaScript being probably number one here, but you can count also TypeScript, Elm, Scala, and more) which are in constant evolution. These can be considered alternatives in that they allow you to build user interfaces and complex forms. Some frameworks have really good support for things like dependencies, some focus on providing nice UI controls, some on the UI update model, etc.

But I have not yet found a framework which covers all the bases as nicely as XForms does, although there is nothing that prevents that from happening in the future.

like image 147
ebruchez Avatar answered Sep 20 '22 18:09

ebruchez


The fact that work stops on development of a standard does not mean the standard is dead, it means it is stable. For example, there is no active work on developing XML itself, which basically means that there is consensus that the standard in its current form meets its requirements. Probably more standards would benefit if people recognized when it was time to stop adding bells and whistles.

XForms is one of those standards that has been very successfully deployed by an innovative minority of users but has, for some reason, never caught on with the masses. It is certainly not a dead standard. It's a shame that it's not natively supported by the browsers but there are good client-side and server-side implementations available, and many users who will attest to the productivity benefits it brings over hand-coding the same stuff in Javascript.

like image 39
Michael Kay Avatar answered Sep 16 '22 18:09

Michael Kay