Я разрабатываю систему, которая получает данные от ряда партнеров в виде файлов CSV. Файлы могут отличаться по количеству и порядку столбцов. По большей части я хочу выбрать подмножество столбцов, возможно, изменить их порядок и передать их анализатору. Очевидно, я бы предпочел иметь возможность преобразовывать входящие данные в некоторый канонический формат, чтобы сделать синтаксический анализатор максимально простым.
В идеале я хотел бы иметь возможность генерировать преобразование для каждого входящего формата данных с использованием некоторого графического инструмента и сохранять преобразование в виде документа в базе данных или на диске. После получения данных я применил бы правильное преобразование (не говоря уже о том, как определить правильное преобразование), чтобы получить документ XML в каноническом формате. Если бы входящие файлы содержали XML, я бы просто создал документ XSLT для каждого формата и был бы в пути.
Я использовал расширения BizTalk для плоских файлов XSLT (или как они там называются) для чего-то похожего в прошлом, но я не хочу хлопот BizTalk (и я не могу себе это позволить) в этом проекте.
Кто-нибудь знает, существуют ли альтернативные технологии и / или расширения XSLT, которые позволили бы мне элегантно достичь своей цели?
Я разрабатываю свое приложение на C # для .NET 3.5 SP1 (поэтому предпочел бы технологии, поддерживаемые .NET).