XML/object libraries are deprecated

If you take any one of the many RSS libraries, including my own RSS.NET, ATOM libraries, or even OPML libraries, you find mostly the same functionality. Each read and write to a specific XML format. Some take advantage of the XML libraries provided by the environment, and some even read and write through streams. But they all solve the same problem – reading and writing objects or structures to and from an XML file, abstracting away XML from the client.

From my experience with RSS.NET, I believe that this code is useless. These formats will eventually evolve and new formats will arise. These libraries should evolve to solve a different problem: generating libraries that read and write specific XML formats.

Armed with a XML schema and an object mapping XML file, this new type of library should be able to generate libraries themselves whose purpose is to read and write to a specific XML file format. After this assembly is produced, developers can use this “strongly typed” object and its formatReader and formatWriter objects to read and write documents. Since this library would use code generation, developers would code this library against the XML schema standard, resulting in generic code that could be applied to any XML format.

Reusable object library generation

The result could be RSS, ATOM, and OPML objects who can read and write their respective formats a piece at a time (by using a stream) or, all at once. They would be schema compliant, optimized for each specific version, and most importantly, extremely easy to use by the end developer.