Transforming flat file to XML using XSLT-like technology

I'm designing a system which is receiving data from a number of partners in the form of CSV files. The files may differ in the number and ordering of columns. For the most part, I will want to choose a subset of the columns, maybe reorder them, and hand them off to a parser. I would obviously prefer to be able to transform the incoming data into some canonical format so as to make the parser as simple as possible.

Ideally, I would like to be able to generate a transformation for each incoming data format using some graphical tool and store the transformation as a document in a database or on disk. Upon receival of data, I would apply the correct transformation (never mind how I determine the correct transformation) to get an XML document in a canonical format. If the incoming files had contained XML I would just have created an XSLT document for each format and been on my way.

I've used BizTalk's Flat File XSLT Extensions (or whatever they are called) for something similar in the past, but I don't want the hassle of BizTalk (and I can't afford it either) on this project.

Does anyone know if there are alternative technologies and/or XSLT extensions which would enable me to achieve my goal in an elegant way?

I'm developing my app in C# on .NET 3.5 SP1 (thus would prefer technologies supported by .NET).

Answers


XSLT provides new features that make it easier to parse non-XML files.

Andrew Welch posted an XSLT 2.0 example that converts CSV into XML


Need Your Help

iOS: PUSH Notifications As A “Trigger” for Webservice Polling?

objective-c ios web-services push-notification polling

I'm just starting out learning OBJ-C but I do have an end-goal app that I'm working toward building; this app will be a master/detail app on the iPad that will be required to keep itself updated wi...

Using HipHop VM on windows

facebook virtual-machine hiphop

I just read an article and learned about the HHVM which is built on the lines of JVM for Java. I went ahead and tried searching on the web, but found only articles about installing it on Ubuntu bui...

About UNIX Resources Network

Original, collect and organize Developers related documents, information and materials, contains jQuery, Html, CSS, MySQL, .NET, ASP.NET, SQL, objective-c, iPhone, Ruby on Rails, C, SQL Server, Ruby, Arrays, Regex, ASP.NET MVC, WPF, XML, Ajax, DataBase, and so on.