XML or eXtensible Markup Language is a markup language used to markup documents and transport data. Unlike other markup languages its markup tags are not predefined, hence the eXtensible part of the acronym. This allows XML to be used as a basis to develop new markup languages. Because of this feature, XML is often called a meta language. Some markup languages developed from XML include:
Here’s an example of data formatted with XML:
<Person> <FirstName>James</FirstName> <LastName>Jones</LastName> <Guitars> <Guitar>Parker Fly</Guitar> <Guitar>Ibanez Iceman</Guitar> <Guitar>Ibanez Talman</Guitar> </Guitars> </Person>
Because anything can be a tag, a guitar tag is perfectly valid.
XML’s role as a container for transporting and storing data has largely been usurped by JSON. JSON is more easily read by programming languages and a dataset sent via JSON is smaller in file size to the equivalent XML dataset. The previous data expressed as JSON would read:
{ "firstName": "James", "lastName": "Jones", "guitars": [ "Parker Fly", "Ibanez Iceman", "Ibanez Talman" ] }
Clearly this representation is more compact and still readable by humans.
You can find out more about XML at these resources: