I have a vendor supplied XSD for which I have been hacking together an Access/VBA script to produce usable XML. This is a short term solution and I would like to write a VB or C# program that will be maintainable in the long term so that if inputs (mainly reports pulled in Excel or possibly a flat .csv format) change, or if the vendor updates the XSD, I (or my successor) will be able to modify the program with relative ease.
Simple, right?
My initial impulse is to structure the program with objects that correlate to the major elements defined in the XSD - namely a Report class that contains General, Organizational, Unit, and Demographic objects to encapsulate these segments of the XML document.
Each of these objects will connect to a set of input DBs/tables (either in Access or possibly SQL Server) some of which may be shared and I'm not sure the best way to abstract this. I suppose I should implement a set of interfaces for each object and structure the program so that it each object can be easily tested (an interface or I've also been reading up on dependency injection)...
I'm a relatively "old-school" C++ programmer so much of the TDD stuff is new to me.
I know this is a broad question, however, am I on the right track here?
Any advice would be much appreciated!