XML is great at describing the data you are handling. HTML is better at describing the structure of the data you are displaying. Originally for HyperText, that is, linking between documents. Extended Markup (XML) expands on that by allowing far more flexibility in describing document content. HTML is more rigid than XML, restricting itself to a defined set of elements while, in XML, you can define whatever you want. XML has its own programming language, XSLT, that can transform any XML into any other XML, including HTML.