Extensible Markup Language (XML) is a markup language that defines a set of rules for encoding documents in a format that is both human-readable and machine-readable. It is defined in the XML 1.0 Specification produced by the W3C, and several other related specifications, all gratis open standards. The design goals of XML emphasize simplicity, generality, and usability over the Internet. It is a textual data format with strong support via Unicode for the languages of the world.  Although the design of XML focuses on documents, the language is widely used for the representation of arbitrary data structures such as those used in web services. Several schema systems exist to aid in the definition of XML-based languages, while programmers have developed many application programming interfaces (APIs) to aid the processing of XML data.

A bit of background from the Cover Pages:

“The Extensible Markup Language (XML) is descriptively identified in the XML 1.0 W3C Recommendation as “an extremely simple dialect [or ‘subset’] of SGML” the goal of which “is to enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML,” for which reason “XML has been designed for ease of implementation, and for interoperability with both SGML and HTML.” Note that the “HTML” referenced in the preceding sentence (bis) means HTML 4.0 and 3.2 which were in common use as of 10-February-1998, when the XML 1.0 specification was published as a W3C Recommendation. The next version of ‘HTML’ is expected to be reformulated as an XML application, so that it will be based upon XML rather than upon SGML. As of December 1998, ‘Voyager’ was the W3C code name for HTML reformulated as an application of XML.”