XML is the Extensible Markup Language. It is designed to improve the functionality of the Web by providing more flexible and adaptable information identification.
It is called extensible because it is not a fixed format like HTML (a single, predefined markup language). Instead, XML is actually a `meta language' - a language for describing other languages which lets you design your own customized markup languages for limitless different types of documents. XML can do this because it's written in SGML, the international standard metalanguage for text markup systems (ISO 8879).
XML is intended "to make it easy and straightforward to use SGML on the Web: easy to define document types, easy to author and manage SGML-defined documents, and easy to transmit and share them across the Web."
It defines "an extremely simple dialect of SGML which is completely described in the XML Specification. The goal is to enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML."
For this reason, XML has been designed for ease of implementation, and for interoperability with both SGML and HTML'
[Quotes are from the XML specification]. XML is not just for Web pages: it can be used to store any kind of structured information, and to enclose or encapsulate information in order to pass it between different computing systems which would otherwise be unable to communicate.
(more technical) Introduces all major XML technologies. A good starting point.
(more technical) In-depth tutorials on a number of subjects, including XML Schemas and XSLT. Also includes XML Schemas Best Practices.
(most technical) Using XML with HTTP, character encoding issues, whitespace issues, XSLT, etc.
(most technical) All you ever wanted to know about Unicode (when writing an XML parser)