.NET Framework / XHTML (eXtensible HyperText Markup Language)
Yazar: Fatih Uzun
Bu yazımızda internetin yeni içerik biçimleme dili olan XHTML’e genel bir bakış yapacağız. XHTML’in varolan teknolojilerden farkını, getirdiği avantajları ve temel özelliklerini gördükten sonra XHTML kullanımında dikkat edilmesi gereken tasarım temellerine kısa bir bakış yapacağız.
XHTML “Uzatılabilir Hipermetin Biçimleme Dili” anlamına gelen “eXtensible HyperText Markup Language”in kısaltmasıdır. Yeni nesil HTML olarak düşünülen XHTML’i kısaca “HTML 4’ün bir XML 1.0 uygulaması olarak yeniden oluşturulması” şeklinde tanımlıyabiliriz. XHTML’in oluşturulmasının iki önemli nedeni vardır, bunlar:
Tarayıcılar arasındaki uyumsuzluğu azaltarak, web sayfaları yapmak için daha katı bir standart oluşturmak.
Çeşitli cihazlar üzerinde değişiklik gerektirmeden kullanılabilecek bir standart oluşturmak.
HTML’e çok benzemesine rağmen XHTML’in bazı önemli farklılıkları vardır. Bunlardan en önemlise de yazılan kodun iyi düzenlenmiş olmasıdır (well formed). Yani XHTML kodu nasıl tanımlanıyorsa aynen o şekilde kullanılmalıdır. Mesela açtığınız bir etiketi (Tag) mutlaka kapatmanız gerekir. Bu zorunluluk XHTML’in her ortamda çalışabilme özelliğinden kaynaklanmaktadır. Çünkü mobil cihazlar kötü oluşturulmuş bir kodu anlamlı bir yapıya oluşturacak güce sahip değillerdir. HTML ile XHTML arasındaki öenmli bazı farklılıklar şöyle sıralanabilir.
Tüm dokümanlar bir doküman tipine sahip olmalı
Tüm etiketler (tag) küçük harf olmalı
Açılan tüm etiketler kapatılmalı
İçiçe etiketler açıldığı sırayla kapatalımalı
Moduller tanımlandığı gibi kullanılmalı
Alışkanlıklar ve Gereksinimler
Bilgi cihazları özel kullanımlar için tasarlanmıştır ve amaçlarına özel fonksiyonları desteklerler. Aşağıda farklı türlerden bilgi cihazlarına örnekler verilmiştir, XHTML’in tüm bu cihazlarda sorunsuzca çalışması amaçlanmaktadır.
Otomatik satış makinaları
Dijital Kitap Okuyucular
HTML’in bu cihazlar için varolan bazı türevleri va altkümeleri vardır. Bunlar arasında WML’i ve CHTML‘i örnek olarak gösterebiliriz. Tüm bu dillerde bazı ortak özellikler bulunmuştur, bu özellikler şu şekilde sıralanabilir.
Temel metin işlemleri
İlişkili dökumanlara bağlantılar.
HTML’in bu genel özellikleri XHTML temellerinin tasarımında başlangıç noktası olmuştur. Çünkü çoğu içerik geliştiriciler bu HTML özelliklerine yatkındır. XHTML’in amacı yeni nesil dillerin özelliklerini kısıtlamak değildir. Fakat HTML 4’ün şu an varolan birçok gelişmiş özelliği bir masaüstü bilgisayarı için düşünülmüştür. Dolayısıyla bu özellikleri diğer cihazlarda kullanmak uygun olmamaktadır. Bu, XHTML’in gelişmiş özelliklere sahip olmayacağı şeklinde anlaşılmamalıdır. Fakat XHTML’in geliştirilmesine temel ve yaygın olan özelliklerden başlanması standartların oluşturulması ve ölçeklenebilirlik açısından çok önemlidir.
HTML’in varolan zengin özelliklerine baktığımızda XHTML bir adım geri gözükmektedir. Fakat bu özelliklere ihtiyaç duymayan bir çok istemciyi ve içerik geliştiriciler için artık tek bir biçimleme dilinin yeterli olduğunu düşündüğümüzde XHTML iki adım ilerdedir.
Temel XHTML Dökuman Tipi
Temel XHTML dökuman tipi XHTML modüllerinin bir kümesi olarak tanımlanmıştır, bu modüller aşağıda verilmiştir.
Temel Form Modülleri
Temel Tablo Modülleri
Bu bölümde bazı HTML özelliklerinin XHTML’de yer almamasının nedenlerini daha ayrıntılı inceliyeceğiz. Bu özelliklere bağlı olarak dikkat etmeniz gereken tasarım temellerini açıklayacağız.
XHTML’de style elementi desteklenmemektedir. Bunun yerine link elementi kullanılabilir. div ve span elementleriyle class özelliği desteklenmektdir. Döküman içeriğiyle tasarım özelliklerinin ayrılmasının nedeni ise şudur. Eğer istemci sitil özelliklerini destekliyor ise bunları download edip kullanabilir, eğer desteklemiyor ise gözardı eder ve indirmez.
Script ve Event Elementleri
XHTML’de script ve noscript elementleri desteklenmemektedir. Ufak cihazların genelde sınırlı CPU gücüne ve hafızaya sahiptirler. Yazdığınız bir script bu cihazda desteklenmeyebilir. Fakat bu durumda bile içerik okunabilir olmalıdır.
Event elementinin desteklenmemesinin en önemli nedeni ise olayların cihazlara bağlı olmasındadır. Mesela bir çok olayın bir televizyonda gerçekleşmesini bekliyemezsiniz.
Birçok basit web istemcileri basit font özellikleri dışındaki bir çok özelliği destekliyemez. Dolayısıyla sitillerinizi oluşturuken tüm cihazlara uygun bir halde tasarlamanız çok daha uygun olacaktır.
XHTML’de temel formlar desteklenmektedir. Dolayısıyla ancak yerel bir dosya yapısına sahip cihalar resim ve dosya tipindeki girişlerin avantajına sahiptirler. Bu yapılar temel form özellikleri arasında yoktur. Formları oluştururken aklınızda tutmanız
XHTML’de form yapılarında olduğu gibi ancak temel tablo yapıları desteklenmektedir. Fakat tabloları ufak cihazlar üzerinde göstermek zordur. Temel tablo standartlarında içiçe tablolar desteklenmemetedir.
Frame elementi XHTML’de desteklenmemektedir. Bunun en önemli nedeni ise Frame yapılarının cihazın ekran özelliklerine bağlı olmasıdır.
Görüldüğü gibi XHTML ile HTML arasında çok fazla fark yoktur. İçeriğini değişik platformlarda yayınlayan geliştiricilere tavsiyemiz, gelecekte daha az problem yaşamaları için şimdiden kodlarını XHTML uyumlu olarak yazmalarıdır. Böylece daha az tarayıcı sorunu ile karşılaşmış olursunuz.