XForms is a declarative language for applications, on the web and elsewhere.
It
is a W3C standard, and in worldwide
use, for instance by:
and many others.
Experience has shown that it greatly simplifies making applications.
Example: A company that makes big machines.
The user interface is very demanding — traditionally needed 5 years, and 30 people. With XForms this became: 1 year, 10 people. Do the sums. Assume one person costs 100k a year: then this has gone from a 15M cost to a 1M cost. They have saved 14 million! (And 4 years)
Example: Insurance Industry
Manager: I want you to come back to me in 2 days with estimates of how long it will take your teams to make the application.
(Two days later)
Programming person: I'll need 30 days to work out how long it will take to program it.
XForms person: I've already programmed it!
Example: NHS
The British National Health Service started a project for a distributed health records system.
- It involved 70 people.
- It cost billions.
- The hardware costs alone were £5 per patient.
- It failed.
One person in three years then created a system using XForms.
- Hardware costs are 1p per patient
- It runs on Raspberry Pi's
- It is now running in a number of NHS hospitals, and being rolled out in Ukraine
If you want to start learning XForms, here are some steps:
Some other examples:
(Some) Implementations:
XForms is also part of OpenOffice* and LibreOffice*
*=open source
If you know of more, or want to be added to this list, let me know.
A Declarative Code Browser with ixml and XForms
Structural Invariants in XForms
How Suite it is: Declarative XForms Submission Testing
A Declarative Code Browser with ixml and XForms
Al-Awadai, Zahra, Anne Brüggemann-Klein, Christina Grubmüller and Philipp Ulrich. “Graphical user interfaces in the X stack.” In Proceedings of Balisage: The Markup Conference 2019. Balisage Series on Markup Technologies, vol. 23 (2019). https://doi.org/10.4242/BalisageVol23.Bruggemann-Klein01. [Paper] [Slides and materials]
Boyer, John M. “Multitasking algorithms in XForms: Coordination, progress, priority.” In Proceedings of Balisage: The Markup Conference 2019. Balisage Series on Markup Technologies, vol. 23 (2019). https://doi.org/10.4242/BalisageVol23.Boyer01. [Paper] [Slides and materials]
Brüggemann-Klein, Anne, Jose Tomas Robles Hahn and Marouane Sayih. “Leveraging XML Technology for Web Applications.” In Proceedings of Balisage: The Markup Conference 2012. Balisage Series on Markup Technologies, vol. 8 (2012). https://doi.org/10.4242/BalisageVol8.Bruggemann-Klein01. [Paper] [Slides and materials]
Cameron, Stephen, and William David Velásquez. “A Data-Driven Approach using XForms for Building a Web Forms Generation Framework.” In Proceedings of Balisage: The Markup Conference 2013. Balisage Series on Markup Technologies, vol. 10 (2013). https://doi.org/10.4242/BalisageVol10.Velasquez01. [Paper]
Chelsom, John J., and Jay H. Chelsom. “Scaling XML Using a Beowulf Cluster.” In Proceedings of Balisage: The Markup Conference 2018. Balisage Series on Markup Technologies, vol. 21 (2018). https://doi.org/10.4242/BalisageVol21.Chelsom01. [Abstract] [Slides and materials]
Davis, Cornelia. “Programming Application Logic for RESTful Services Using XML Technologies.” In Proceedings of Balisage: The Markup Conference 2011. Balisage Series on Markup Technologies, vol. 7 (2011). https://doi.org/10.4242/BalisageVol7.Davis01. [Paper]
Lubell, Joshua. “XForms User Interfaces for Small Arcane Nontrivial Datasets.” In Proceedings of Balisage: The Markup Conference 2014. Balisage Series on Markup Technologies, vol. 13 (2014). https://doi.org/10.4242/BalisageVol13.Lubell01. [Paper]
Lubell, Joshua. “Extending the Cybersecurity Digital Thread with XForms.” In Proceedings of Balisage: The Markup Conference 2015. Balisage Series on Markup Technologies, vol. 15 (2015). https://doi.org/10.4242/BalisageVol15.Lubell01. [Paper] [Slides and materials]
Maalej, Mustapha, and Anne Brüggemann-Klein. “Generating Schema-Aware XML Editors in XForms.” In Proceedings of the International Symposium on Native XML User Interfaces. Balisage Series on Markup Technologies, vol. 11 (2013). https://doi.org/10.4242/BalisageVol11.Bruggemann-Klein01. [Paper]
Nguyen, Quyen L., and Betty Harvey. “Agile Business Objects Management Application for Electronic Records Archive Transfer Process.” In Proceedings of Balisage: The Markup Conference 2009. Balisage Series on Markup Technologies, vol. 3 (2009). https://doi.org/10.4242/BalisageVol3.Harvey01. [Paper] [Slides and materials]
Niedl, Tobias, and Anne Brüggemann-Klein. “Processing XForms in HTML5-Enabled Browsers.” In Proceedings of Balisage: The Markup Conference 2013. Balisage Series on Markup Technologies, vol. 10 (2013). https://doi.org/10.4242/BalisageVol10.Niedl01. [Paper]
Nordström, Ari. “Implementing Version Handling in Yet Another CMS.” In Proceedings of Balisage: The Markup Conference 2025. Balisage Series on Markup Technologies, vol. 30 (2025). https://doi.org/10.4242/BalisageVol30.Nordstrom01. [Paper]
Pemberton, Steven. “Using XForms for interfaces to XML data.” Presented at International Symposium on Native XML User Interfaces, Montréal, Canada, August 5, 2013. In Proceedings of the International Symposium on Native XML User Interfaces. Balisage Series on Markup Technologies, vol. 11 (2013). https://doi.org/10.4242/BalisageVol11.Pemberton02. [Abstract]
Pemberton, Steven. “XForms 2.0: What’s new.” In Proceedings of Balisage: The Markup Conference 2018. Balisage Series on Markup Technologies, vol. 21 (2018). https://doi.org/10.4242/BalisageVol21.Pemberton02. [Paper] [Slides and materials]
Pemberton, Steven. “How Suite it is: Declarative XForms Submission Testing.” In Proceedings of Balisage: The Markup Conference 2020. Balisage Series on Markup Technologies, vol. 25 (2020). https://doi.org/10.4242/BalisageVol25.Pemberton01. [Paper]
Pemberton, Steven. “Structural Invariants in XForms.” In Proceedings of Balisage: The Markup Conference 2021. Balisage Series on Markup Technologies, vol. 26 (2021). https://doi.org/10.4242/BalisageVol26.Pemberton01. [Paper] [Slides and materials]
Sigaud, Éric, Romain Tailhurat, Franck Cotton and Éric van der Vlist. “XForms generation: a real world example.” In Proceedings of the International Symposium on Native XML User Interfaces. Balisage Series on Markup Technologies, vol. 11 (2013). https://doi.org/10.4242/BalisageVol11.Cotton01. [Paper]
Sperberg-McQueen, C. M. “An XML infrastructure: for spell checking with custom dictionaries.” In Proceedings of Balisage: The Markup Conference 2020. Balisage Series on Markup Technologies, vol. 25 (2020). https://doi.org/10.4242/BalisageVol25.Sperberg-McQueen01. [Paper]
Walsh, Norman, and C. M. Sperberg-McQueen. “Interactivity Three Ways.” In Proceedings of Balisage: The Markup Conference 2021. Balisage Series on Markup Technologies, vol. 26 (2021). https://doi.org/10.4242/BalisageVol26.Walsh01. [Paper]
Wiecha, Charlie, Rahul Akolkar and Andrew Spyker. “Where XForms Meets the Glass: Bridging Between Data and Interaction Design.” In Proceedings of Balisage: The Markup Conference 2010. Balisage Series on Markup Technologies, vol. 5 (2010). https://doi.org/10.4242/BalisageVol5.Wiecha01. [Paper]
van der Vlist, Eric. “XQuery Injection: Easy to exploit, easy to prevent....” In Proceedings of Balisage: The Markup Conference 2011. Balisage Series on Markup Technologies, vol. 7 (2011). https://doi.org/10.4242/BalisageVol7.Vlist02. [Paper]
XForms version 2.0 is in preparation. If you want to get involved, join the group!