• Nice to see someone playing devil's advocate.

    I'm not sure that I totally agree although I have very limited XML exposure.

    My understanding is that the rules about what an XML file can and cannot contain can be restricted via a schema. Provided you don't change the rules within a schema then you are OK. The nearest programming equivalent of "Don't change your schema" is "Don't change your class interfaces".

    Because an XML document is usually a text file it can be read by almost any OS. Yes, other formats are faster but that limits cross platform compatibility.

    XML is designed to be used over the web. My understanding is also that XML is an attempt to separate web content from web presentation. If the document is dictated by the Schema then I could take your XML document and apply an XSLT to it to display your document in a number of completely different layouts.

    I have to say that initially I was underwhelmed by XML. I thought it looked like the web equivalent of a COBOL data-division!

    Hierarchal data is a pain to manage and administer but it's main advantage is speed. I've read that there are people out there who have databases so large that RDBMS technology struggles to perform all the overnight processing.

    Granted that for most people the RDBMS is the answer to a lot of questions but there are always people who need a better mouse trap!

    I'm nost saying that XML and XML databases are the answer but XML does have its uses.