XML
XML , for Extensible Markup Language, allows users to put tags around their data to describe what pieces of the data mean.
<CATALOG>
<CD>
<TITLE>Empire Burlesque</TITLE>
<ARTIST>Bob Dylan</ARTIST>
<COUNTRY>USA</COUNTRY>
<COMPANY>Columbia</COMPANY>
<PRICE>10.90</PRICE>
<YEAR>1985</YEAR>
</CD>
<CD> ... </CD>
</CATALOG>
We can see that XML provides a hierarchical tree structure for data. The task of checking the validity of an XML file is essentially the same as checking for balanced parentheses; XML simply allows the users to define their own parenthesis names.