XML is a standard to build markup languages. It provides a format for describing structured data, creating documents to appear across multiple media, facilitating more precise declarations of content, and providing more meaningful search results across multiple platforms. Spearheaded by the World Wide Web Consortium (W3C), XML became a formal specification in mid-February of 2000. The W3C is still working on a number of XML-related recommendations.
In designing XML, the W3C sought to overcome the limitations of HTML with a markup language syntax that could be extended indefinitely to suit any purpose. XML documents can be exchanged and used across dissimilar platforms and applications. XML is versatile in its handling of content, allowing developers to change or create new tags, while HTML has a predefined vocabulary that cannot be changed. HTML's limitations become evident when deploying large and complex business-critical applications, which are usually intranet/extranet applications as opposed to standard websites.
XML developers do not consider XML a language, but rather a system for defining other languages and a common syntax for expressing structure in data. Using XML, data from any source can be wrapped in a data structure, which can then be used by an application that parses the data and uses it in an application. Since the data structure and the data itself can be combined in a document object instance, the document “is” the database. This “database” can be processed by any application that can handle XML, even though that application might have no knowledge of the origin of the data.
XML allows developers to specify what role content will play. For example, content in a footnote has a different meaning from content in a table and needs to be treated differently.