Your information is a bit minimal. So if I'm stating the obvious my apologes.
The basic approach would be to create a page that implements all your data elements. Use javascript/Jquery to validate requiered elements. After sending the page to the server read all elements and create a XML document.
You didn't specify your server handling language, but this approach can be used with any of the known languages such as PHP, C#, VB.NET, Ruby, Perl.
Depending on your choice creating and maintaining the template code of the page is less or more work. You could also use XSLT to generate a HTML page from the XSD. Reading data can also be done with XSLT. If you use the Smalltalk web application framework Seaside, pages are generated from code, so there is only one place to maintain your application. But that is not really widely used so that might not be an option. Most other languages use templates for pages.