Support files are available here for this article.
You may or may not have heard of XML: however, since you're reading this, you are probably at the very least an amateur/enthusiast web developer, and XML is possibly one of the most innovative and enhancing web development tools around. So if you haven't heard of it, shame on you!
XML, which stands for eXtensible Markup Language, started life in February 1998 as a humble W3C recommendation, although it was first conceived as early as 1996. It was created specifically by the W3C XML Working Group, which consisted of major industry players such as Sun, Microsoft, HP and Netscape to name but a few and was hailed at the time as "a key technical advance in web technology" according to the accompanying press release.
It was brought into existence partly as an answer to the growing limitations of HTML and also to introduce an open standard of web interoperability and data sharing. It was also intended to separate the structure of data from its format; where HTML is intended for the presentation of information on the web, but not the type or structure of said information, XML is geared entirely towards the structure and not the presentation of data. HTML and XML could easily be viewed as the Yin and Yang of web-development.
The original ten design goals that the associated XML developers set out to meet were:
XML should easy to use over the Internet
It should be able to support a wide variety of applications
It should be compatible with SGML (Standard General Markup Language)
It should be easy to write applications that process XML documents
The number of optional features should be kept to an absolute minimum
XML documents should be human-legible
It should be formal and concise
XML documents should be easy to create
There should be few if any coding shortcuts
And the specification should be prepared quickly.
Anyone who has used XML will know that these aims were largely met: Ease of use over the Internet was ensured by using existing Internet protocols. It can support a wide variety of applications, for example, it can be used to create databases and word processors that are used independently of the 'net. In addition to being compatible with SGML, it is a subset of it, meaning basically that it is a simplified version of it. Developers have been quoted as saying that a typical college student could write an XML Interpreter in just two weeks, which would certainly meet the aim of being easy to write applications using XML.
Optional features were kept to a minimum to ensure compatibility between documents and applications. HTML is easy enough to read and understand, provided you a little knowledge of the language, XML is easier to read and interpret by a factor of ten; anyone with no experience of XML at all can open an XML document and easily see what is going on. This also means that simple text editors can open XML documents rather than just web browsers or dedicated applications.
In order to keep it formal, the specification for XML was written in compliance with the Extended Backus-Naur Format, which provides a standard notation used to express the syntax of programming languages. It is easy to create an XML document: you can use a simple text editor such as Notepad, and the syntax of XML involves plain ASCII text. There are no coding shortcuts in XML, unlike SGML. XML was indeed developed very swiftly; this was necessary to prevent individual companies or organisations developing their own propriety standards of the language. If this goal had not been met, we would now no doubt be innocent bystanders to a situation similar to the Java Virtual machine / Microsoft Virtual Machine war between Sun and Microsoft.