XML (eXtensible Markup Language) on suurema keerukama SGML-i (Standard Generalized Markup Language) vähem keerukas ja kokkuvõtlikum dialekt. Lihtsamalt öeldes kasutab see keel failis erinevat tüüpi andmete tuvastamiseks süntaksisilte. Näiteks:
XML muudab erinevate programmide jaoks andmete eraldamise väga lihtsaks, kuna sildid vastavad teatud mudelitele. Eespool näeme 7 elemendiga andmemudelit:
Klient (emaelement) sisaldab 6 pesastatud elementi: nimi, tänav, linn, osariik, sihtnumber ja telefon.Nimi: XML-teadlikud programmid teavad, et sellel väljal on inimese või ettevõtte nimi.Tänav: sellel väljal on aadress .Linn: siit leiab linna.Osariik: riigi kahetäheline lühendatud kood.Sihtnumber: 2-kohaline sihtnumber.Telefon: telefoninumber.
Iga elemendi andmemudeli või sisu määratlemiseks saab kasutada DTD-d (Dokumenditüübi määratlus). DTD on üks võimalus XML-dokumendi struktuuri või puu määratlemiseks. DCD (Dokumendi sisu kirjeldus), DDML (Dokumendi definitsiooni märgistuskeel), SAX (XML-i lihtne API) ja XSCHEMA on teised.
Kuigi ülaltoodud lihtsustatud näide vihjab ainult selle keele põhitõdedele, peaks juba selge olema, mille poolest see erineb hüperteksti märgistuskeelest (HTML). HTML-is kasutatavad sildid määravad, kuidas materjal veebilehel esitada, ilma et see viitaks sellele, mis materjal on. HTML-failis olevate andmete manipuleerimine või taaskasutamine edasisel eesmärgil ei ole otstarbekas. XML-is kirjutatud veebilehel sisalduvaid andmeid saab aga manipuleerida, eri andmebaasisüsteemidega eraldada ja taaskasutada.
HTML-i kasutamisel veebilehtede loomiseks kasutatakse sageli stiililehti. Ametlikult tuntud kui kaskaadlaaditabelid, lisab CSS HTML-i veebilehele stiilielemente.
Veebilehti saab kirjutada ka XML-vormingus. Sel juhul on CSS-i ekvivalent XSL (eXtensible Stylesheet Language), mida rakendatakse samal viisil.
XSL täidab tegelikult kahte funktsiooni. See sisaldab juhiseid XML-teadlikele brauseritele, kuidas graafilistel eesmärkidel kood renderdada, kuid see sisaldab ka juhiseid andmete teisendamiseks muudesse vormingutesse, mida nimetatakse XLST-ks. XSLT võib genereerida originaalist erineva struktuuriga faili. See on eriti kasulik sellistes valdkondades nagu e-kaubandus, kus kliendi sisestus, nagu nimi, krediitkaardi number, dollarisumma jne, surutakse makse töötlemisel läbi mitmete süsteemiprogrammide. XSLT teisendusfunktsiooni ei takista renderdamisvajadused ja see on seotud üksnes andmete eduka liigutamisega võrkude ja programmide vahel töötlemise eesmärgil. Ajastul, kus teabevahetus on nii suur nõudlus, on XML HTML-i asemel ilmselge valik.
World Wide Web Consortium (W3C) loodud XML on osa suurest märgistuskeelte perekonnast ja seda määratletakse kui metakeelt – keelt, mis kirjeldab teisi keeli. Üks W3C eesmärke oli muuta XML valikuvabaks, et see jääks puhtaks, erinevalt HTML-ist, millel on palju erinevaid tavasid ja mille tulemusel renderdatakse seda erinevates brauserites erinevalt, muutes andmete ühtse esitamise keeruliseks.
2005. aasta märtsi testide seisuga, avaldas W3C
selgus, et Microsoft Internet Explorer 6.0 SP2-l oli piiratud XML-i võimekus, kuna väidetavalt kasutas see oma keele maitset, mis ei pruugi alati vastata kehtestatud standarditele. Netscape’il oli hea ühilduvus mõne probleemiga 8.0 beetaversioonis, samas kui Firefoxil ja Mozillal olid tasuta brauserite parimad tulemused koos täielikult juurutatud, 100% ühilduva XML-i renderdusvõimega kõigis olemasolevates brauseri versioonides.
Kuna XML-lehed pakuvad palju rohkem paindlikkust kui HTML-lehed, eeldatakse, et see asendab valitud keelena HTML-i. Lisateabe saamiseks külastage ametlikku W3C saiti. Saadaval on ka veebipõhised õpetused ja paljud raamatud. Keele õppimine võib nõuda kiirendust, kuid eksperdid ennustavad, et investeering on seda aega väärt.