Formats for Electronic Forms?
Bifurcati asks: "I'm a grad student at the University of Queensland, Australia. I am frequently required to submit forms (e.g., annual reports) which are sent as Word or RTF documents and must be filled in electronically. However, these are almost impossible to use under Linux (e.g., StarOffice) because the tables and formatting are just too complicated and get mangled. Even Word for Mac sometimes has problems. Can anyone suggest a better, cross-platform format? Could PDF files with forms do this? What are the costs & learning curve? User friendliness is vital for both admin and student. Alternatively, can anyone suggest ways they could make their Word files more compatible across platforms?"
XML would allow you to define (in a DTD/Schema...) the kinds of data that the form should be collecting and do it in a format neutral way. Then you could use web pages (translate the XML automatically to XHTML, grab the data and translate back). This can be fairly easily automated as could other methods to handle the input. PDF and DOC (and its cousins) are poor substitutes as you can't as easily identify the important information in the document, you can't store it concisely and you can't then do semantic level searches on it. Furthermore, in XML processing you can do consistency checks and so on.
In a web setting (or similarly "connected" kind of configuration) you could pre-populate much of the data for the user. You could even "compile" the xml to a set of online forms (XML -> GLADE or the MS .NET XML window description thing).
Once the data is entered into XML it can be massaged and output in any needed format (I don't know of any free XML to DOC format converter, but I suspect that the XML enabled MS Office stuff can do it if needed).
By the way, while that first step is easy to say, actually defining the DTD/Schema/... is likely to be rather difficult. (Look up sometime what it takes to specify an address.) But this difficulty pays off immensely in that you know much more about your data, and much more about the ways it might be used. Once this is done though, the other parts are really pretty straightforward.
It might take a bit of work, but in the long term coding this up in XML is likely to save far more work and money.