My application will be taking in data from other applications. For the purpose of example, let's say address data. This data will always have elements like street, country, lastname, but will arrive in many disparate formats. csv, xml, xls, etc.
I would like to build my application such that I accept one format that can be verified and processed reliably. In this way, I ensure that if I want to accept data in a form for which I have not planned and is not available as an option currently, I need only translate the data to my documented format. I believe this is a good place for xsd and as such, would like to find specific data and if there are XML standard formats and organizations around that data. For example, domestic and international address data: the Address Data Interchange Specification.
I have considered just documenting and using a csv format, however this seems to be error prone * no way to verify that data in first column is actually the documented first column element. * high possibility of invalid data being loaded and requiring purge
I believe the xsd prevents these issues and allows anyone to develop their own file for export from their application (example: Open_Financial_Exchange but it seems most applications prefer the csv import method.
Is there a more elegant option than either of these? Perhaps a pattern of which I am unfamiliar which deals with the intake of similar data in disparate formats?