XMLForms is an experimental work (at least for now) which attempts to define a robust framework for the presentation and processing of form-based information.
It attempts to unify the handling of inputs from HTML forms (amongst other things) with the presentation of such forms, and it supports hierarchical data structures.
The input descriptions, known as models, are written in XML and define the structure of the input expected for a servlet.
The output descriptions, known as templates, are based on the input descriptions, but include presentation information amongst the structural elements.
Templates do not embed programming language fragments or support arbitrary programming language features. This reduces complexity and encourages other activities...
To be sure that users can supply enough information to a servlet to satisfy the model, the template can be compared to the model for that servlet to see if all the model information is being presented. Since the template descriptions are restricted, this activity is easier than for other template systems.
Validation/verification is done with the model, and error presentation is supported automatically in the templates. Just define the areas where error messages occur, and include some content for those messages, and they will appear automatically in the output.
Each resource or servlet can include templates for different audiences, known as editions - therefore localisation is possible to a certain extent.
The author of XMLForms is PaulBoddie and details of where to find it, along with other potentially interesting things, can be found from his Wiki page.
-- PaulBoddie - 01 Nov 2001