XHTML Sözdizimi. HTML ve XHTML - Temel Farklar

  • 18.06.2019

Hem HTML hem de XHTML, web sayfaları oluşturmak için kullanılan dillerdir. HTML, SGML'nin üzerine, XHTML ise XML'in üzerine inşa edilmiştir. Aynı madalyonun iki yüzü gibidirler. XHTML, XML standartlarına uymak amacıyla HTML'den oluşturulmuştur. Bu nedenle XHTML, HTML'den daha katıdır ve kodlama kurallarından sapmaya izin vermez.

XHTML'nin geliştirilmesinin nedeni bazı etiketlerle ilgili bir karışıklıktı. HTML ile yazılan sayfalar farklı tarayıcılarda farklı şekilde işlenir.

karşılaştırma Tablosu

HTML XHTML
Tanım (Wikipedia'dan) HTML veya Köprü Metni İşaretleme Dili, bir tarayıcıda görüntülenebilen web sayfaları ve diğer belgeler oluşturmak için birincil biçimlendirme dilidir. XHTML (Genişletilebilir Köprü Metni İşaretleme Dili), web sayfalarının yazıldığı Köprü Metni İşaretleme Dili'ni (HTML) devam ettiren ve genişleten bir XML işaretleme dilleri ailesidir.
Dosya uzantıları .html, .htm .xhtml, .xht, .xml, .html, .htm.
Kullanım biçimi metin/html. uygulama/xhtml+xml.
tasarlanmış W3C ve WHATWG. World Wide Web Konsorsiyumu.
Biçim türü Belge biçimi. İşaretleme dili.
Genişletilmiş SGML. XML, HTML.
şifre çözme Köprü metni biçimlendirme dili. Genişletilebilir Köprü Metni Biçimlendirme Dili.
Başvuru Standart Genelleştirilmiş İşaretleme Dili (SGML) uygulaması. XML uygulaması.
Fonksiyonlar Web sayfaları HTML ile yazılır. HTML'nin genişletilmiş versiyonu, daha katı, XML'e dayalı.
Davranış Esnek çerçeveler, HTML sözdiziminin ayrıştırılmasını gerektirmez. XML kurallarıyla sınırlıdır ve bu kurallar tarafından uygulanır.
Menşei 1987 yılında Tim Berners-Lee tarafından önerildi. World Wide Web Consortium 2000'in Tavsiyesi.
Sürümler HTML 2, HTML 3.2, HTML 4.0, HTML 5. XHTML 1, XHTML 1.1, XHTML 2, XHTML 5.

HTML ve XHTML'ye Genel Bakış

HTML, web sayfaları için ana biçimlendirme dilidir. Başlıklar, listeler, bağlantılar, alıntılar vb. öğeleri vurgulayan yapılandırılmış belgeler oluşturur. Etkileşimli formlar oluşturmak için görüntüleri ve nesneleri gömmenize olanak tanır. HTML, köşeli parantez içindeki etiketler kullanılarak belirtilir - örneğin, . Ayrıca, kodu JavaScript ile yazılmış komut dosyaları içerebilir.

XHTML, HTML sürümlerini genişleten veya devam ettiren bir XML dilleri ailesidir. Herhangi bir etiketin çıkarılmasına veya özniteliklerin en aza indirilmesine izin vermezler. XHTML, her açılış etiketinin doğru sırada karşılık gelen bir kapanış etiketine sahip olmasını gerektirir. Örneğin, bir köprü metni dili tek bir etiketin kullanımına izin veriyorsa
, sonra XHTML'de HTML'den farklı olarak bir etiket yazmanız gerekir
. Fark burada yatıyor.

HTML ve XHTML Belgelerinin Özellikleri

HTML sözdizimi şu bileşenlerden oluşur: açılış ve kapanış etiketi, öğe nitelikleri ( etiketlerde belirtilen), metin ve grafik içeriği. Bir HTML öğesi, etiketlerin kendileri de dahil olmak üzere etiketler arasındaki her şeydir.

Bir XHTML belgesi yalnızca bir kök öğe içerir. Değişkenler dahil tüm elemanlar küçük harfle yazılmalı ve atanan değerler tırnak içine alınmalı, kapatılmalı ve iç içe olmalıdır. XHTML'de bu bir gerekliliktir - HTML'den farklı olarak. DOCTYPE XHTML bildirimi, belgelerin izlenecek kurallarını tanımlar.

HTML'nin temel sözdizimi, XHTML'de izin verilmeyen birçok kısaltmaya izin verir. Örneğin, hem açılış hem de kapanış etiketine sahip olması gerekmeyen öğeler. XHTML, tüm öğelerin hem açılış hem de kapanış etiketine sahip olmasını gerektirir. Aynı zamanda, XHTML yeni kısayollar sunar: bir XHTML etiketi eğik çizgi ile açılıp kapatılabilir (
).

HTML 4.01 SGML bildirimlerinde kullanılmayan bir sözdiziminin tanıtılması, erken aşamalarda uygulamalarda kafa karışıklığına neden olabilir. Bu sorunu çözmek için kapanış etiketinden önce bir boşluk kullanmanız gerekir:
.

XHTML ve HTML belirtimi

HTML ve XHTML birlikte belgelenebilir. Hem HTML 4.01 hem de XHTML 1.0'ın üç alt özelliği vardır - katı, katı olmayan ve çerçeve. HTML ve XHTML belgeleri arasındaki fark, belgelerin beyanında yatmaktadır. Diğer farklılıklar sözdizimseldir. HTML, kapanış etiketine, kapanış etiketi olmayan boş öğelere izin vermez. Genişletilebilir Köprü Metni İşaretleme Dili, XHTML etiketlerini açma ve kapatma konusunda çok katıdır. Yerleşik öznitelik işlevsellik tanımlama dilini kullanır. Tüm XML sözdizimi gereksinimleri bir XHTML belgesinde karşılanır.

Ancak bu farklılıklar yalnızca XHTML belgesi bir XML uygulaması olarak kullanıldığında ortaya çıkar; yani, MIME türleri application/XHTML+XML, application/XML veya text/XML olarak. Metin/HTML MIME türü olarak kullanılan bir XHTML belgesi, HTML olarak yorumlanmalıdır, dolayısıyla bu durumda HTML kuralları geçerlidir. Metin/HTML MIME türü olarak kullanılan XHTML için yazılmış CSS, Uygulama/XHTML + XML MIME türü olarak kullanılan bir belgede düzgün çalışmayabilir. MIME türleri hakkında daha fazla bilgi için ilgili belgelere bakın.

Metin/html gibi XHTML belgeleri kullanırken bu önemli olabilir. Bu farklılıkların farkında değilseniz, belgenin XHTML olarak kullanılması durumunda beklendiği gibi çalışmayacak CSS oluşturabilirsiniz.

Şartlar nerede " XHTML" ve " XHTML belgesi", bu bölümün geri kalanında XHTML işaretlemesinin kullanımını bir XML MIME türü olarak tanımladıkları varsayılmaktadır. Metin/HTML olarak kullanılan XHTML işaretlemesi bir HTML belgesidir.

HTML'den XHTML'ye nasıl geçiş yapılır

  • Dili ayarlayan öğelere xml:lang ve lang özniteliklerini dahil edin;
  • HTML'de boş olarak belirtilen öğeler için boş öğe sözdizimini kullanın;
  • Boş öğe etiketlerinde fazladan boşluk kullanın: ;
  • İçerik içerebilen ancak boş olan öğeler için kapanış etiketlerini kullanın: ;
  • Bir XML bildirimi eklemeyin.

HTML ve XHTML arasındaki farkı anlamak için, bir XHTML 1.0 belgesini HTML 4.01'e dönüştürmeyi düşünün. Bunu yapmak için aşağıdaki adımları gerçekleştirmelisiniz:

  • Öğenin dili, XHTML xml:lang niteliği değil, lang niteliği kullanılarak belirtilmelidir;
  • XML ad alanını kaldırın (xmlns=URI ). HTML'nin ad alanlarıyla ilgilenmek için hiçbir olanağı yoktur;
  • Belge türü bildirimini XHTML 1.0'dan HTML 4.01'e değiştirin;
  • Varsa, XML bildirimini kaldırın. Kural olarak, bu:;
  • Belgenin MIME türünün şu şekilde ayarlandığından emin olun: text/html . Hem HTML hem de XHTML'de bu, HTTP İçerik Türü başlığı sunucu tarafından gönderilen;
  • Boş XML öğesi sözdizimini HTML boş öğe stiliyle değiştirin (
    üzerinde
    ).

"HTML vs XHTML" makalesinin çevirisi projenin güler yüzlü ekibi tarafından hazırlanmıştır.

XHTML, Genişletilebilir Köprü Metni İşaretleme Dili ve Rusça - Genişletilebilir Köprü Metni İşaretleme Dili anlamına gelir. Genişletilmiş değil, genişletilebilir olmasına dikkat edin. Demek ki bu dil

Şimdiye kadar yenilendi (genişletildi). Peki XHTML nedir? XHTML ve HTML arasındaki temel fark, belgenin (web sayfasının) işlenme şeklidir. Bir tanım daha vermekte fayda var. Ayrıştırıcı, ayrıştırma gerçekleştiren bir program veya programın parçasıdır. Ayrıştırıcı olarak da adlandırılır. Daha da basitse, bu program sayfanın tüm yapısını, sayfanın tüm kodunu analiz eder. HTML'de bir hata bulunduğunda, analiz sırasında düzeltildi, bu da ek zaman gerektiriyordu - tarayıcının yazarın (geliştiricinin) ne yazmak istediğini anlaması gerekiyordu. Örneğin, herhangi bir etikette bir hata varsa, metnin geri kalanıyla birlikte görüntülendi.

Diğer bir fark, tüm öğelerin kapalı olması ve tek etiketlerin karakterlerden sonra / işaretine sahip olması gerektiğidir, örneğin:
. Etiketler hakkında ayrı bir büyük yazı yazacağım, ayrıca her etiket hakkında ayrı ayrı yazacağım. XHTML'deki kodlama UTF-8'dir (şu anda en yaygın olanı), HTML'de ise ISO 8859-1 kullanılmıştır.

XHTML Modülerleştirme nedir?

XHTML'nin modülerleştirilmesi, XHTML 1.0'ın HTML 4'e göre belirli işlevsellik türleri sağlayan soyut modüller koleksiyonuna bölünmesidir. Bu soyut modüller, bu belirtimde XML Belge Türü Tanımlama dili kullanılarak uygulanmaktadır, ancak XML Şeması kullanan bir uygulama beklenmektedir.
Soyut modülleri tanımlama ve bunları DTD kullanarak uygulama kuralları da bu belgede tanımlanmıştır.


xhtml

Bu modüller, XHTML belge türü ailesinin üyeleri olarak nitelendirilen XHTML belge türlerini alt kümeler haline getirmek ve genişletmek için birbirleriyle ve diğer modüllerle birleştirilebilir.

Neden XHTML'yi Modülerleştirin?

Format Modeli

HTML'nin önceki sürümleri, bir kullanıcı aracısının (UA) bir belgeyi biçimlendirirken kullanması gereken böyle bir modelin parçalarını tanımlamaya çalıştı. ortaya çıkmasıyla birlikte, W3C, sunumu yapıdan ayırma sürecine başladı. XHTML 1.0 bu ayrımı korur ve bu belge HTML'den ve onun soyundan gelenlerden bu yönde devam eder. Buna göre, bu belge, XHTML Ailesi belge türleri ile işaretlenmiş belgelerin sunumuyla ilişkili bir biçimlendirme modeli için herhangi bir gereklilik getirmez.


xhtml

Bunun yerine, bu belge içerik yazarlarının, içeriklerinin biçimlendirme modelini tanımlamak için CSS gibi stil tanımlama mekanizmalarına güvenmelerini önerir.
Kullanıcı aracıları stil oluşturma mekanizmalarını destekliyorsa, belgeler beklendiği gibi biçimlendirilir.
Kullanıcı aracısı stil mekanizmalarını desteklemiyorsa, belgeler kullanıcı aracısının kendisi tarafından belirlendiği şekilde biçimlendirilir. Bu, XHTML Ailesi Kullanıcı Aracılarının, mümkün olduğunda cihazlarda karmaşık biçimlendirme modellerini desteklemesine ve izin verildiğinde cihazlarda biçimlendirme modellerini değiştirmesine olanak tanır.

tarih : 21.09.2008

Hayır hayır... Fark sadece harf sayısında değil. HTML, World Wide Web'deki belgeler için standart biçimlendirme dilidir ve HTML, SGML'nin (Standart Genelleştirilmiş İşaretleme Dili) bir uygulamasıdır. XHTML ise XML tabanlı genişletilebilir bir hiper metin biçimlendirme dilidir. Temel fark, HTML'den farklı olarak XHTML'nin XML sözdizimini kullanmasıdır. Yani XHTML, HTML'den daha katı sözdizimi biçimlendirme kuralları gerektirir.

XHTML'nin avantajı, katı sözdizimi kurallarının kullanılması nedeniyle bir XHTML belgesinin ayrıştırılmasının daha kolay ve hızlı olmasıdır, XHTML işleme, az kaynakla cep telefonlarında bile mümkündür.

XHTML'nin temel kuralları:

1. Tüm işaretleme öğeleri (etiketler) kapatılmalıdır (örneğin: ). Tek etiketler (örneğin
, ) sonunda bir "/" olmalıdır (örneğin:
);

2. Öğelerin (etiketlerin) doğru şekilde yerleştirilmesine dikkat edilmelidir.

3. Öğe ve nitelik adları küçük harf olmalıdır (örneğin: onun yerine ).

4. semboller “<” и “&” везде, даже в URL, должны заменяться на "<" и "&" соответственно. Консорциум W3C рекомендует браузерам не обрабатывать XHTML документы встретив эти символы, а сообщать об ошибке. Но мы то с вами понимаем что такое вряд ли когда-то произойдет).

5. Tüm öğe öznitelik değerleri çift veya tek tırnak içine alınmalıdır (örneğin: veya ).

Öyleyse XHTML veya HTML kullanmak daha mı iyi?

Günümüzde, İnternet'e erişmenin giderek daha yeni ve alternatif yolları var. XHTML, genel kullanıcı aracısı uyumluluğu düşünülerek tasarlanmıştır. Ancak aynı zamanda, tüm tarayıcılar HTML okuyabilir ve çoğu tarayıcı XHTML belgelerini normal HTML olarak değerlendirir. Sonuçta, daha önce XHTML yoktu ve tüm siteler düz HTML'de yapıldı ve tarayıcılar uzun süredir buna adapte oldu. Ve HTML desteği olmadan yeni tarayıcılar yapmak mantıklı değil, çoğu (azınlık bile) sitenin yanlış görüntülediği bir tarayıcı mı kullanacaksınız? Tarayıcılar, kullanıcıya bir belge görüntülemek için mevcuttur ve kullanıcı, etiketi kapatıp kapatmadığınızı umursamaz. Ve XHTML ayrıştırıcıları için cennettir.) Bu nedenle, yeni moda XHTML'yi kullanmadan önce, onu kullanmanın ne gibi faydalar sağlayacağını düşünün. Ve hangisi daha iyi sorusuna cevap veriyor. Burada, yeni çıkmış XHTML'yi çok az veya hiç faydası olmayan veya eski denenmiş ve test edilmiş HTML'yi kullanma seçiminin size ait olduğunu söyleyebilirim.

Unutmamak için not edin HTML ve XHTML arasındaki fark.

Yani, HTML ve XHTML- bunlar, tarayıcının “anladığı” web sayfaları için özel biçimlendirme biçimleridir.

İşte HTML ve XHTML hakkında bazı teoriler ve aralarındaki bazı farkların bir listesi...

HTML(İngilizce Köprü Metni Biçimlendirme Dili'nden - “köprü metni biçimlendirme dili”), World Wide Web'deki belgeler için standart biçimlendirme dilidir. Çoğu web sayfası HTML (veya XHTML) kullanılarak oluşturulur. HTML dili, tarayıcı tarafından yorumlanır ve insan tarafından okunabilir biçimde bir belge olarak görüntülenir.
HTML, SGML'nin (Standart Genelleştirilmiş İşaretleme Dili) bir uygulamasıdır ("özel durum") ve uluslararası ISO 8879 standardına uygundur. XHTML, bir XML uygulamasıdır.

HTML, belgeler için bir etiket işaretleme dilidir. Herhangi bir HTML belgesi bir dizi öğedir ve her öğenin başı ve sonu özel işaretler - etiketlerle belirtilir. Öğeler boş olabilir, yani hiçbir metin veya başka veri içermez (örneğin, yeni satır etiketi
). Bu durumda, kapanış etiketi genellikle belirtilmez. Ek olarak, öğeler, bazı özelliklerini tanımlayan niteliklere sahip olabilir.

HTML belirtiminin bir sürümüne uyan her HTML belgesi, bir HTML sürümü bildirim satırıyla başlamalıdır.
Bu satır belirtilmezse, belgenin tarayıcıda doğru görüntülenmesini sağlamak daha zor hale gelir.

XHTML(İng. Genişletilebilir Köprü Metni İşaretleme Dili - Genişletilebilir Köprü Metni İşaretleme Dili) - XML ​​temelinde oluşturulan, HTML ile karşılaştırılabilir özelliklerde web sayfaları için bir işaretleme dili. HTML gibi, XHTML de SGML belirtimine uygundur çünkü XML bunun bir alt kümesidir. XHTML 1.1, 31 Mayıs 2001'de World Wide Web Konsorsiyumu (W3C) tarafından bir Tavsiye olarak onaylandı.

Geçerli (yani tüm kurallara uyan) bir XHTML belgesi, teknik şartnameyi karşılayan bir belgedir. İdeal olarak, tüm tarayıcılar web standartlarını takip etmeli ve bunlara uygun olarak tüm platformlardaki tüm tarayıcılarda geçerli belgeler görüntülenmelidir. Tarayıcılar arası uyumluluğu garanti etmese de bir XHTML belgesinin doğrulanması önerilir. Belge, W3C işaretleme doğrulama çevrimiçi hizmeti kullanılarak spesifikasyona göre doğrulanabilir. Doğrulama, XHTML işaretlemesindeki hataları tespit edecek ve netleştirecektir.

XHTML ve HTML arasındaki farklar
- Tüm elemanlar kapatılmalıdır. Kapanış etiketi olmayan etiketler
(örneğin, veya
) / ile bitmelidir (örneğin,
).

Boole nitelikleri genişletilmiş biçimde yazılır. Örneğin, yazmalısın seçili="seçili"> veya .

Etiket ve nitelik adları küçük harflerle yazılmalıdır (örneğin, bunun yerine alt="" /> ).

XHTML, koddaki hatalar konusunda çok daha katıdır;< и & везде, даже в URL,
değiştirilmelidir< и & соответственно. По рекомендации W3C браузеры,
XHTML'de bir hatayla karşılaştıklarında, bunu bildirmeleri ve belgeyi işlememeleri gerekir. İçin
HTML tarayıcıları, yazarın ne söylemek istediğini anlamaya çalışmak zorundaydı.
- Varsayılan kodlama UTF-8'dir (HTML'den farklı olarak, kodlama
varsayılan ISO 8859-1'dir).

XHTML sayfaları için MIME türünün application/xhtml+xml olarak ayarlanması önerilir, ancak
ayrıca bu isteğe bağlıdır - Internet Explorer 8 ve daha eski
sürümleri sayfayı oluşturamaz, bu nedenle XHTML 1.0 ile gelenekseldir
HTML için kullanılan MIME türü metin/html'dir.

Standart ayrıca şunu da önerir:önceki
DTD, ancak bu gerekli değildir, ayrıca - Internet Explorer tarayıcısı algılar
böyle bir gösterge (ve daha önce başka herhangi bir metin) bir işaret olarak
bu sayfanın geriye dönük uyumluluk modunda görüntülenmesi gerektiğini ve
standarda göre. Üç tür XHTML belgesi vardır: katı, geçici ve
çerçeve kümesi. XHTML'nin en yaygın ve çok yönlü sürümü,
geçişli çünkü iframe'lere izin veriyor
(bir web sayfasının içeriğinin diğerine dahil edilmesi) ve bağlantıların hedef özelliği
(örneğin, bağlantının yeni bir pencerede açılması gerektiğini belirtmek için).
Çerçeve versiyonu (İngilizce çerçeve seti) genişletilmiş bir versiyondur
geçiş, adından da anlaşılacağı gibi, yükleme yeteneği ekleyerek
gövde yerine çerçeve kümesi. XHTML katı DTD'si pek çok
kullanımdan kaldırılan geçiş DTD'sinde açıklanan etiketler ve nitelikler.

Teşekkürler http://ru.wikipedia.org/

HTML'nin gelişimi bir anlamda çıkmaza girdi - yeterince mevcut olduğundan yeni etiketlere artık gerek yok, ayrıca web sayfası geliştirmenin odağı, belge tasarımı olanaklarını genişleten stillere kaymıştır. . Doğal olarak, CSS hiçbir şekilde HTML'nin yerini almaz, ancak sınırlı sayıda etiket kullanmanıza ve öğelerin görünümünü, konumlarını ve çeşitli parametreleri stiller aracılığıyla ayarlamanıza olanak tanır.

HTML'nin belirli bir sınırlaması, etiketlerin ve hiyerarşik yapılarının spesifikasyonda katı bir şekilde açıklanması anlamında resmi dillere atıfta bulunmasıdır. Bu nedenle, XML, kendi etiketlerinizi oluşturabileceğiniz ve yapılarını oluşturabileceğiniz popülerlik kazanıyor. HTML ve XML arasındaki fark sadece etiketlerde değil, aynı zamanda kod yazma kurallarında da. Tarayıcı, HTML ile çalışırken, yapıdaki çeşitli küçük kusurlara ve eksikliklere veya özniteliğin doğru belirtilmemiş olmasına "göz yumar". XML ile, bu tür hileler çalışmaz, bu nedenle tarayıcı, belgenin hatalı biçimlendirildiği konusunda bir hata verecektir.

Geliştiricilere "doğru" düşünme biçimini öğretmek, kodlama stillerini değiştirmek ve HTML ile XML arasındaki boşluğu kapatmak için XHTML, ikisi arasında bir ara adım olarak geliştirildi.

XHTML (Genişletilebilir Köprü Metni Biçimlendirme Dili, genişletilebilir köprü metni biçimlendirme dili), HTML'nin yerini almak üzere tasarlanmıştır ve daha katı sürümü olarak kabul edilir. Genel olarak, W3C, XHTML'yi, sonunda yerini alacak olan en son HTML sürümü olarak tanımlar. Bunun gerçekten böyle olup olmayacağını zaman gösterecek.

Bazı ideal web sayfası kodlarından bahsedersek, tüm hatalar giderilene kadar derlenmeyecek bir programla karşılaştırılabilir. Tarayıcı bir derleyici görevi görür ve spesifikasyona uygun değilse belgeyi görüntülemez. XHTML, HTML'nin tüm özelliklerini korurken, "ideal" koda yaklaşmak için sayfa oluşturmak için daha katı kurallar getirir. Bu, siteleri görüntüleme cihazından ve tarayıcıdan bağımsız hale getirmenizi sağlar. Başka bir deyişle, site bilgisayarlar, akıllı telefonlar, PDA'lar, netbook'lar vb. tüm modern tarayıcılarda ve platformlarda doğru şekilde görüntülenecektir.

Aslında, her şey daha sıradan. Tarayıcı geliştiricileri, beyin çocuklarının yalnızca "doğru" kodla çalışmasını sağlayamaz. Ve hepsi, dünyadaki sitelerin çoğunun böyle bir tarayıcıda görüntülenmeyecek olması nedeniyle. Hem geliştiriciler hem de kullanıcılar bu durumdan sorumludur. İlki, tarayıcılarında belirtimi düzgün bir şekilde desteklemedi ve ikincisi onu takip etmeye zahmet etmedi.

Bu nedenlerle, XHTML 1.x tıpkı HTML gibidir, ancak benzersiz özellikleri nedeniyle kesinlikle geçmeniz gereken ve gelecek vaat eden biçimlendirme dili yerine daha katı bir sözdizimine sahiptir.