XML (for extensible markup language) is a standard maintained by the World Wide Web Consortium for creating special-purpose markup languages. It is general enough that XML-based languages can be used to describe a number of different kinds of data as well as text. Its primary purpose is to facilitate the sharing of structured text and information across the Internet. Although based on SGML, it is greatly simplified, despite including enhancements for portability. Languages based on XML (for example, RDF, SMIL and MathML, and SVG) are themselves described in a formal way, allowing programs to modify and validate documents in these languages without prior knowledge.
A powerful adjunct to XML is the stylesheet language XSL, which allows users to describe visual properties and transformations of XML data without embedding those instructions into the data itself.
Before the advent of XML software designers had to define special file formats or small languages to share data between programs. This required writing detailed specifications and special purpose parsers and writers. Now the software designer needs only specify a DTD (which determines constraints on the structure of an XML document) and can use readily available (and free) XML parsers and writers. This significantly reduces life-cycle development cost.