I am currently working on a project that requires the editing of information in a very free flowing way (like in Word or Excel) but has very strict data and validation conditions as well. I have considered many different mechanisms/interfaces which would allow a reasonable amount of freedom on the users part but still be able to adhere to a formal structure.
The solution that I am currently considering is to have the users just edit Xml directly. The users in this case are very capable and can adapt pretty well to new ideas. Here are is my current list of pros and cons:
- Easily Validated
- Fairly easy to read, understand and write
- Possible intellisense with the right editor
- Easy to program against
- Lends itself well to heirarichal data
- Very verbose
- Another language for users to learn
- No consumer level editor
So with the above lists, Xml is not looking like too bad of a choice. Did I miss any pros or cons?
I have also been looking for a good Xml editor that the people can use to author the documents with. My first idea was the Microsoft Xml Notepad. Maybe I am missing something but that tool seems very awkward and hard to use, not to mention the fact that you have to edit an xml file as if it were a tree. Then, I thought of SharpDevelop – a free, open source, .Net IDE that has a pretty decent Xml editor (I still think visual studio 2005 is the best I have used). I downloaded it and tried out SharpDevelop and it seems to work very well. It would fit the bill for this project because it is free and lightweight.
So what do you think – Is hand writing Xml too much to ask of the average user?