XML
Stands for "Extensible Markup Language."
XML is a markup language and file format that defines and stores arbitrary sets of data in a standardized way. Like HTML, XML uses tags to contain and structure data; unlike HTML, XML does not predefine these tags. Instead, authors can define their own XML tags to specify the type of content. Like HTML files, XML files are stored as plain text. A properly-formatted XML file is both human-readable and machine-readable.
While XML refers to itself as a markup language, it can also be considered a "metalanguage" that defines other markup languages for specific purposes. Custom XML tags used to structure data can define whatever the author needs them to define. XML files are very flexible and used in many contexts — RSS feeds, SVG graphics, and Microsoft Office documents are all file types built on the structure of XML.
The structure of an XML file is very similar to an HTML file. While an HTML file uses predefined tags that determine how information is displayed, an XML file uses custom tags to show how data is structured. Below is an example of an XML file, demonstrating how to store a recipe as XML.
<?xml version="1.0" encoding="UTF-8"?>
<recipe>
<name>Ice Cream Sundae</name>
<description>A simple ice cream treat</description>
<ingredients>
<ingredient>
<item>Vanilla Ice Cream</item>
<quantity>1 cup</quantity>
</ingredient>
<ingredient>
<item>Chocolate Syrup</item>
<quantity>2 Tbsp</quantity>
</ingredient>
</ingredients>
<instructions>
<step>Scoop ice cream into bowl and drizzle with chocolate syrup. Enjoy!</step>
</instructions>
</recipe>
Instead of using predefined tags, like in HTML, the XML format allows custom tags to define whatever data is needed. In this example, the recipe tag encompasses an entire recipe; the name and description tags define some general information about it; the ingredients tag contains the individual ingredients; each ingredient has tags for both the name of that item and the quantity; finally, the instructions tag contains each step required to make the recipe.