XHTML'yi (Firefox, Opera, Safari, IE9 ) destekleyen her tarayıcı , her öğede kendi kendine kapanan sözdizimini destekler .
<div/>
, <script/>
, <br></br>
Hepsi sadece para cezası çalışmalıdır. Yoksa, XHTML DOCTYPE eklenmiş bir HTML'niz var .
DOCTYPE, belgenin yorumlanma şeklini değiştirmez. Yalnızca MIME türü bunu yapar .
W3C'nin DOCTYPE'yi görmezden gelme kararı :
HTML WG bu sorunu tartıştı: amaç eski (yalnızca HTML) tarayıcıların yönergeleri izleyerek ve metin / html olarak sunarak XHTML 1.0 belgelerini kabul etmelerine izin vermekti. Bu nedenle, metin / html olarak sunulan belgelerin XHTML olarak değil HTML olarak ele alınması gerekir.
Bu çok yaygın bir tuzaktır, çünkü W3C Validator bu kuralı büyük ölçüde görmezden gelir, ancak tarayıcılar dini olarak takip eder. WebKit blogundan HTML, XML ve XHTML'yi anlama bölümünü okuyun
:
Aslında, internetteki XHTML belgelerinin büyük çoğunluğu olarak sunuluyor text/html
. Bu, hiç XHTML değil, aslında HTML ayrıştırıcılarının hata işlemesinde geçen geçersiz HTML oldukları anlamına gelir. Tüm bu "Geçerli XHTML 1.0!" web bağlantıları gerçekten “Geçersiz HTML 4.01!” diyor.
XHTML DOCTYPE ile gerçek XHTML veya geçersiz HTML'nizin olup olmadığını test etmek için bunu belgenize yerleştirin:
<span style="color:green"><span style="color:red"/>
If it's red, it's HTML. Green is XHTML.
</span>
Bu doğrular ve gerçek XHTML'de o (bkz: mükemmel çalışıyor 1 vs 2 ). Gözlerinize inanamıyorsanız (veya MIME türlerini nasıl ayarlayacağınızı bilmiyorsanız), sayfanızı XHTML proxy'si aracılığıyla açın .
Kontrol etmenin başka bir yolu da Firefox'ta görüntüleme kaynağıdır. Geçersiz olduklarında eğik çizgileri kırmızı renkte vurgulayacaktır.
HTML5 / XHTML5'te bu değişmedi ve fark daha da net, çünkü ek bile yok DOCTYPE
. Content-Type
kral.
Kayıt için XHTML spesifikasyonu, XHTML'yi bir XML uygulaması yaparak herhangi bir öğenin kendi kendine kapanmasına izin verir : [benimkini vurgula]
Boş eleman etiketleri, EMPTY anahtar sözcüğü kullanılarak bildirilmiş olsun ya da olmasın, içeriği olmayan herhangi bir öğe için kullanılabilir .
Ayrıca XHTML spesifikasyonunda açıkça gösterilir :
Boş elemanlar gerekir ya bir uç etiketi veya bitmelidir başlangıç etiketine sahip />
. Örneğin, <br/>
veya<hr></hr>