HTML dili bir belgenin formatlanması amaçıyla daha önceden tanımlanmış bir etiket (tag) kümesine sahiptir. Her bir etiket özel bir formatlama anlamı içerir. Şekil 1’deki HTML örneğine bakalım. Burdaki <P> etiketi bir paragrafın başını göstermektekdir. </P> ise paragrafın bitiş etiketidir. Tarayıcı bu etiketlere bakarak bu başlangıç ve bitiş etiketleri arasındaki metini bir paragraf olarak yorumlayarak buna göre biçimlendirme işlemini gerçekleştirecektir. ve ekiteleri ise bu iki etiket arasındaki metinin bold (kalın) fontta basımı sağlayaktır. etiketi ise yeni bir satır başına geçilmesini ifade eden satır atlama etiketidir.
HTML:
<P> <b> Sn. Selim Akyokuş </b> <br> Barboros Cad. No: 11 <br> Yıldız 80750, İSTANBUL </p>
Biçimle
TARAYICI Sn. Selim Akyokuş Barboros Cad. No: 11 Yildiz 80750 İSTANBUL
Bu örnekte gördüğümüz gibi HTML dilindeki bir çok etiket yalnızca biçimlendirme ile ilgili tarayıcın kullandığı bir anlam ifade etmektedir. HTML’in bu yapısı esnek, güçlü ve çok amaçlı bilgi sistemlerinin geliştirilmesini engellemektedir. HTML’in bu anlamda getirdiği bu takım sınırlamalar şunlardır[2|:
• HTML genişleyebilir bir dil değildir. HTML daha öceden tanımlanmış sabit bir etiket kümesi içermektedir. Bu etiket kümesini uygulamara özgü kendimizin ekleyeceği yeni etketlerle genişletemeyiz.
• HTML yalnızca sunum amaçlıdır. HTML etiketlerinin bir çoğu tarayıcının metni yalnızca nasıl biçimlendirmesi ile ilgili bilgi içermektedir. Veri kopyalama, paylaşımı, iletişimi ve uygulama bütünlenleştirmesi gibi diğer ağ uygulmalarının gereksinimlerine cevap vermemektedir.
• HTML belgeleri genellikle direkt olarak yeniden kullanılamazlar. Örneğin, bir hava tahminleri hakkında bilgi veren bir sitedeki bir HTML belgesindeki sıcaklık, ve hava tahminleri ile ilgili bilgileri kendi uygulamamızda kullandığımızı düşünelim. Kendi uygulamamız bu sayfanın yapısını inceleyerek bu bilgileri istediğiz formata dönüştürsün. Hava tahmini sitesindeki en ufak bir değişiklik olması durumunda bizim uygulamamızı değiştirmemiz gerekeçektir. Bunun temel nedeni bir HMTL belgesi içindeki bilgi içeriğiyle sunum yapısının birbirinden ayrılmamasıdır.
• HTML verilerinizin yalnızca bir "görüntüsü"nü sağlar. Kullanıcı isteklerine bağlı olarak bir HTML belgesindeki bilgilerin farklı formatlarda görüntülenmesini istersek bu işlem HTML ortamında çok zor olaçaktır. Bunun işlemi gerçekleştirmek için çok fazla script kodu yazmamız gerekçektir.
• HTML verileri çok az veya hiçbir anlamsal yapı bilgisi içermezler. Örneğin yukarıda vermiş olduğumuz adres örneğinde metin içeriği hakkında ise hiç bir bilgi yoktur. Bu metne bakarak bir uygulamanın bu metindeki hangi verinin ad, soyad veya posta kodu olduğunu anlaması zordur.