Apply Schematron constraints to XForms documents automatically
It has been obvious for half a decade or more that much of the GUI
programmingeffort we take for granted in the software industry is just busy work.
As always happens with busy work, sooner or later it gets whacked. Some programmer or corporation locks it in its sites, types in a program to automate the job, and blows it away.
That is just what has happened, or is in the final stages of happening, with GUI forms production.
IBM has released software that generates data-entry validation for state-of-the-art web forms for you.
Apply Schematron constraints to XForms documents automatically:
IBM alphaWorks has released a new round of free tools, including the XML Forms Generator, to accelerate the development of forms that comply to this standard. The recent update lets you apply constraints defined in a Schematron 1.5 document to the generated form. Itself an XML markup, Schematron provides for the specification of business rules and data relationships that XML Schema cannot. While XForms natively provides for validation against XML Schema, any use of Schematron constraints must be built into the form itself.
It is hard to imagine anyone going back to the archaic Resource file format of the Macintosh circa the 1980s, or the Resource Compiler of MS-Windows back in the 1990s.
These days, we pretty much are all using XML or HTML based file formats to define our GUIs. The exception being some Swing forms that are hand programmed in Java using the Swing framework.
XForms is an XML based format and it is much higher-level, and at the same time simpler to use, than the ancient HTML file format. XForms itself was invented over have a decade ago and has been an official web standard for years.
Many companies like IBM are already using it in commercial applications. It helps head off problems which have recently made the national news, where people desperately needed to access a website but did not have a specific version of a specific brand of a specific web browser running on a specific version of a specific operating system.

