XML or eXtended Markup Language, has been a buzz word for quite a long time. And with the proliferation of AJAX, it has seemed to gain more credibelity. More so, it has been pitching in the compatibility front.
I have been wanting to explore XML a bit, at least on the rudimentary level, because I did not have an understanding about it till now. I did ask Vinyas to write something about it, but he has been moving around a lot and his job is taking a toll on his free time. So, I thought I would explore it myself - now that it seems like I would need it for use in my current project.
So, with a disclaimer that this post will not be anything ground breaking, but a rudimentary understanding of XML technology, I write it.
XML, as I stated above, stands for eXtended Markup Language. It is not a programming language, but a mark-up language. Even HTML has been wrongly considered as a programming language, while like XML it is a mark-up language. The history of XML, when I researched around a bit, seems to be an evolution out of SGML - Standard Generalized Markup Language.
XML, like SGML, is not a markup language in itself, but a specification for defining a markup language. Let me try to make it clear. HTML is a markup language, where as SGML is not. SGML tells how to define HTML. Hence, HTML is application of SGML. Similarly, with the advent of XML we have found HTML evolving into XHTML. Here XHTML is a application of XML. Note that XHTML is just a subset of the many application of XML.
Using a markup language- standardised markup language - one can use any system or application, and still be able to exchange document or more generally data with others whomight be using a different system or application. If there is a standard markupfor a document, then effectively, Ishould be able to open it inOpen Office Word, MicrosoftWord, or may be even my own home-brewed application. I am not bound by a proprietary format.
Now, XML is not a magic wand that will let us all live happily ever after. It would still require different software vendors of a particular league of application to sit down together and work out a XML definition for their data. We have seen this happen to some extent in terms of the browser players - by the introduction of XHTML. There has been a moderate standardisation in vector graphics file format. There are qutie a lot of application that support SVG - Scalable Vector Graphics - as a file format for vector graphics. SVG is a application of XML.
But there is a lot to be tredged in terms of having standards for different data.
Will XML ever solve the problem of compatibility between applications and free us from specific systems?