XML is mijns inziens volledig overhyped als een vervanging van HTML, en ik vind dat een beetje een onzin verhaal.
XML is sowieso iets heel anders als HTML. XML is namelijk een meta-taal, d.w.z. dat je er een taal mee kunt specificeren.
Bijvoorbeeld waar bij HTML het vastligt dat binnen een set HEAD tags niet een BODY tag mag hebben, maar bij XML moet je zoiets zelf vastleggen in een zogeheten DTD (Document Type Definition). Daarnaast heeft ieder tag in HTML een vaste betekenis, dus alle parsers (voornamelijk browsers) weten precies wat ze ermee moeten doen. Bij XML moet je zelf een betekenis aan je tags geven. Je schrijft zelf een parser of gebruikt een bestaande, en bouw dan zelf een stukje vertalingsoftware waarin je met de gegevens uit een XML document iets zinvols doet. Het kan zijn dat je vertaler een HTML document uitspuugt, het kan zijn dat die een database transactie doet, het kan zijn dat die een het een order plaatst bij een eCommerce bedrijf.
Een mooi voorbeeld van de toepassing van XML is SOAP (Simple Object Access Protocol geloof ik), een door MS bedachte manier om via HTTP een COM component aan te roepen met een in XML verpakt commando. Het XML bericht bevat de naam van de methode die aangeroepen moet worden en geeft de parameters mee, en vervolgens wordt door het component in XML de te returnen waarde terug gegeven. SOAP is overigens niet de enige die zoiets doet, er bestaan ook andere standaarden zoals bijv. XML-RPC (Remote Procedure Call).
Zelf ben ik bezig met een project waarbij klanten van onze opdrachtgever soms hele grote orders moeten. Die orders worden door het order systeem van de klanten gegenereerd als een XML, en wordt dan via een web interface naar het systeem van onze opdrachtgever ge-upload om daar verwerkt te worden.
Mijns inziens is dit DE killer app van XML: data exchange. Het grootste voordeel is dat je heel goed kan vastleggen hoe de gegevens eruit moeten zien, en dat werkt veel beter dan comma delimeted files en dergelijke. Zo kan je in je ontwerp zelfs vastleggen dat zo'n XML document een versie bevat en op basis van die versie anders geparsed moet worden, zodat uitbreidingen in de toekomst ook makkelijk toegevoegd kunnen worden.
Overigens zijn de protocollen die samen WAP opmaken ook aan de hand van XML gemaakt.