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