XML emerged as a way to overcome the shortcomings of its two
predecessors, SGML and HTML which were both very successful
markup languages, but which were both flawed in certain ways.
SGML, the international standard for marking up data, has been used
since the 80s. SGML is an extremely powerful and extensible tool for
semantic markup which is particularly useful for cataloging and indexing
data. Like XML, SGML can be used to create an infinite number of markup
languages and has a host of other resources as well.
However, SGML is pretty darn complex, especially for the everyday uses
of the web. Not only that, but SGML is pretty expensive. Adding SGML
capability to a word processor could double or triple the price.
Finally, the commercial browsers made it pretty clear that they did not
intend to ever support SGML.
HTML on the other hand was free, simple and widely supported. HTML was
originally designed at CERN around 1990 to provide a very simple version
of SGML which could be used by "regular" people. As everyone knows, HTML
spread like wildfire.
Unfortunately, HTML had serious defects that we discussed earlier.
So in 1996, discussions began which focused on how to define a markup language with
the power and extensibility of SGML but with the simplicity of HTML.
The World Wide Web Consortium (W3C) decided to sponsor a group of SGML
gurus including Jon Bosak from Sun.
Essentially, Bosak and his team did to SGML what the Java team had done to C++.
All of the non-essential, unused, cryptic parts of SGML were sliced
away. What remained was a lean, mean marking up machine: XML. The
specification of XML (written mostly by Tim Bray and C.M. Sperberg-McQueen)
was only 26 pages as opposed to the 500+ pages
of the SGML specification! Nevertheless, all the useful things which
could be done by SGML, could also be done with XML.
Over the next few years, XML evolved, drawing from the work of its
sponsors and the work of developers solving similar problems such as
Peter Murray-Rust who had been working on CML (Chemical Markup
Language) and the consortium of folks working on MathML.
By mid 1997 The eXtensible Linking Language XLL project was underway
and by the summer of 1997, Microsoft had launched the Channel Definition
Format (CDF) as one of the first real-world applications of XML.
Finally, in 1998, the W3C approved Version 1.0 of the XML
specification and a new language was born.