nur mal so am Rande...
Man kann sich in .Net Klassen aus XSDs erzeugen lassen.
Auf dem Prinzip beruhen typisierte DataSets und die Proxyklassen für WebServices.
Du kannst damit deklarativ eine struktur vorgeben, die dann in Code umgesetzt werden kann.
@Topic
Ein, den Zugriffsklassen bekanntes, XSD bedeutet auch, dass du du nur valide Daten einlesen kannst. Du "müllst" dich also nicht mit strings zu, die eigentlich dateTimes oder Integer sein sollten.