XML, Why and How TO
Posted under XML & RSS, Code, on Monday, October 31st, 2005;I was recently asked “Why XML, rather than a .CSV (Coma Separated Values) file”, and no one had an answer beyond “It’s what we do now”.
(After stalling for a few seconds) I answered “flexibility”.
When, in a CSV file, you add a new element, or changed the order even slightly, any application reading that file would have to be changed or it will fail. Using XML, when you introduce a new element for such and such a purpose, any existing applications (should) ignore that element and continue working on the data it knows about.
This will allow you to produce 1 file for multiple uses, as opposed to a different file for each use, and allow both gradual changes and re-use as needed. Since so much work starts as ad Hoc and temporary, but stay around for a long time (Zombie systems! just in time for halloween) , this is not a minor issue.
Tim Bray - co inventor of XML - talks about Why XML Doesn’t Suck and mentions other reasons including: Internationalization, Interoperability, and Longevity, which are additional kinds of flexibility (flexible People to People Communications, flexible Machine to Machine Communications, flexible Future usages), with some self documenting.
HOWTO Avoid Being Called a Bozo When Producing XML, is a great guide when writing your own XML documents, before you make the common mistakes, and cause all of us grief.
See also

November 21st, 2005 at
[…] Will this approach (using the fexiblity of XML) really help the huge problem of integration? Maybe. This is still going to require a lot of working and planning, but it might help for ongoing and continuous intergation. Also, is MicroSoft looking at new way to sharing data to/from excel, a huge source of data in almost every company? Hmmm….Maybe…They do need a reason for users to upgrade, especially given the new competition in Open Office and open standard XML Office documents. […]
December 23rd, 2005 at
[…] It is very hard to define what “Web 2.0″ is. It is not AJAX, xml, , Mp3’s, or even Open Source. That’s “How”. I wouldn’t try, but here’s a description. […]