XML(Extensible Markup Language);
HTML ile pek çok açıdan benzerlik gösteren bir markup dilidir.Verinin tanımlanması ve tarif edilmesi için kulanılır.HTML'deki yapının aksine XML'de kullanılacak olan tag'ler önceden tanımlı değildir.Yani bir XML dökümanının yapısı tamamıyle kullanıcı tarafından oluşturulur.Verinin tarif edilmesi için DTD adı verilen yapılar kullanılmaktadır.XML ve DTD'nin birlikte kullanılması ile dökümanlar kendini tarif eden bir yapı halini alırlar.
XML ve HTML arasındaki en belirgin fark XML'in verinin kendisiyle ilgilenmesi HTML'in ise verinin sunumuyla ilgilenmesidir.Buna bağlı olarak HTML dökümanları veriye ilişkin şekillendirme bilgilerini içerirken XML dökümanları ise verinin tanım bilgilerini içermektedir. XML'in tasarım amaçlarından biri de verinin taşınmasıdır.
Bahsedilen bu özellikleri incelendiğinde XML'in pek çok önemli işlevi yerine getirdiği görülmektedir.
Şimdi çok basit bir XML dökümanını birlikte inceleyelim:
<not>
<kime>Mehmet</kime>
<kimden>Erdem</kimden>
<heading>Hatırlatma</heading>
<body>Kitapları Unutma!</body>
</not>
HTML dökümanlarına çok benzeyen bu yapıda ilk etapta göze çarpan nokta tag yapılarının bizim tarafımızdan tasarlanmış oluşudur.HTML'de kullanılan <p> ve <h1> gibi standart tag yapıları yukarıdaki XML dökümanında kullanılmamıştır.Bahsedilen bu özelliği nedeniyle XML dökümanları genişletilebilir(extensible) bir yapıya sahiptir.Dökümanın bu hali gerçek anlamda herhangi bir şey ifade etmez.Dökümanın iletimi(gönderim veya alım) ya da sunumu için başka şeylerin de yapılması gerekmektedir.
Burada önemli bir nokta olarak XML'i HTML'in yerine geçecek bir dil olarak düşünmek yerine HTML'in tamamlayıcısı olacak olan bir dil şeklinde düşünmek uygundur.
Günümüz bilişim dünyasına bakacak olduğumuzda XML'in her alanda karşımıza çıktığını görmekteyiz.Bu nedenle XML'I bir anlamda geleceğin web dili olarak tanımlamak mümkündür.