Csv read

xml_generation.py now has a separate function for each part of the xml file that we are going to create. 

each of these functions uses a try ... except pattern

on failure the function returns false. 

we expect 8 components to be built, so the function now ignores xmlfiles that don't build all components, and logs this info to an error log.