views:

333

answers:

5

Hi everyone,

Scientific or market research questionnaires mainly consist of questions in the following form:

INTRO: Indicate how much you agree with the following statements...

OPTIONS: very much - rather - so-so - rather not - not at all

ITEM 1: I love Coca-Cola

...

ITEM n: ...

Let's call the whole thing a SCALE. One scale consists of several items, has an intro, has a certain number of options. The database has the tables 'intro', 'option', 'items' and 'scale' with the necessary foreign keys. With the appropriate queries I select this information and inject them into the form-view in order to display my questionnaire scale.

This is ok as long as there is no non-tech third party who has to edit these scales. Recently an alternative approach has come to my mind. I thought it might be possible to use XML files for the scales, containing all the beforementioned data including translations.

I know that XML is a means of transport and not data storage, I know that querying XML is not as easy as using SQL against a database... but what about the third party? Should I rather develop a backend for them, where they can edit the questions? What is your opinion on that? Do you maybe know an alternative third way of storing questions (scales) for surveys?

SUMMARY SO FAR: ok, it seems that the edit interface is the better solution. Could anyone maybe write something about the question of speed concerning XML...

+1  A: 

Did you already take a look at MS InfoPath? This is exactly what they are doing, and it works quite well.

gizmo
what if I would like to stay away from expensive MS infrastructure?
tharkun
infoPath is quick... but yeah... I'd stay away from MSiffying everything... and I'd only use InfoPath if the company infrastructure was MS and I wanted to achieve quick and dirty integration into sharepoint...
anbanm
@gizmo, thanks anyways, maybe infopath can help another time...
tharkun
+3  A: 

The best way would be to build that simple back-end for non-technical third parties.

Non-technical users would probably have trouble editing an XML file, and how would you check that the file was properly formatted after they edit it? Your software would have to check the input and spit out meaningful error messages, which means you would be writing a rudimentary back-end anyway.

e.James
+1 xml needs to be properly formatted, I don't think your users need to be bothered about that.
chakrit
I guess you're right guys. Thanks for the comments!
tharkun
A: 

It would be simpler to do it via a backend (is that the right term?) than parsing a config file (essentially what your xml file is) everytime something changed.

anbanm
+1  A: 

As far as presentation goes, XSLT (XML style sheets for transformation) can transform the document into a "presentable" interface. You'll still need a mechanism to capture and store the results, however. But if it's in XML you can put pretty much any imaginable interface in front of it, even without using XSL.

One advantage of an XML approach, over a relational database, is the built-in variability you can offer. I've built a few systems like this, and coming up with a sane database structure that can also handle the variability of survey structure and data is tough.

GalacticCowboy
yes, I find this though as well, would you mind discussing this issue somewhere else... because I'm recently doing a lot with questionnaires and some exchange would be great?!
tharkun
A: 

If you want it to be in XML then I suggest you to have a look at Interactive Schema Interpreter (http://sourceforge.net/projects/interactive/).