Can forms be created using XML?

Hi All,

I recently had started to use odk and create survey by exel.
But I wonder if there is another advanced method to create survey.
Does XML provide that or any language else?
I noticed that I had to convert xlsform to Xforms.
Can I also create survey by XForms?
If there is any method can you please provide me with examples.

Best Regards.

Hi @Raneem_Al_Sawas
You can use xls as you have already noticed but you can also use our online builder: https://build.opendatakit.org/

I recommend the first way, that online tool is really good and easy to use but doesn't provide all options you can use in excel. But if you want to build simple forms it also should be enough and it's a good way to start.

1 Like

Thank you, I had tried online builder but as you said it is not suitable for complicated forms.

Ok so the only way is to use xls. Here you can find a sample file with all widgets https://docs.google.com/spreadsheets/d/1af_Sl8A_L8_EULbhRLHVl8OclCfco09Hq2tqb9CslwQ/edit#gid=0
and here more info about xls: http://xlsform.org/

1 Like

Many thanks, That means there is no way except Excel. :sweat_smile:

Yeah but no worries I assure you it's easier than you think, maybe at the beginning it seems difficult but it isn't. If you have any problem you can always ask here on the forum.

2 Likes

Yes it is not difficult :grinning: I really like it.
But I just wondered if there is more advanced method like programming languages.
Sorry for wasting your time.
Many thanks

It's not wasting my time, no worries.

1 Like

You can use this one.

Best,
Narendra

1 Like

You certainly can edit the raw XML if you would like but I think you'll generally find XLSForm just as powerful, much faster and less error-prone. There are a few newer features that aren't supported but support is usually quick in coming. You can always contribute to making this faster at https://github.com/XLSForm/pyxform/. Even though I do sometimes edit XML directly, I will generally start from an XLSForm, convert it to XML and then make changes.

Note that you can use raw XPath in XLSForm as well (e.g. /data/my_value instead of ${my_value}). This can be quite useful for doing things like filtering values in a repeat.

The full ODK XForms spec is at https://opendatakit.github.io/xforms-spec/.

1 Like

Excel is the most easiest so far for me in my experience.

1 Like