Peki XHTML5'e ne oldu?
Bu sayfa hem xhtml5 hem de html5 için taslak mı? Yani bu doktipler arasında bir fark yok mu?
Peki XHTML5'e ne oldu?
Bu sayfa hem xhtml5 hem de html5 için taslak mı? Yani bu doktipler arasında bir fark yok mu?
Yanıtlar:
2012 yılında W3C'nin HTML 5 için XHTML'den vazgeçmeye karar verdiği açıktı.
Sadece birkaç kişi XHTML ile gerçekten ilgilendi. Web sitelerinin çoğu düz HTML olarak yazılmıştır.
Daha azı bile XHTML'nin ne hakkında olduğunu ve nasıl kullanılacağını gerçekten anlamıştı. XHTML kullanıyor gibi görünen pek çok web sitesi yerine yanlış başlıklar kullanılıyordu Content-Type: application/xhtml+xml
.
XHTML'nin ne olduğunu ve başlıkların ne olması gerektiğini tam olarak anladığınız zaman bile, bazı crappy tarayıcıların application/xhtml+xml
içerik türünü kabul etmeyen / desteklemeyen işler gerçekten zor . Bu, başlığı tarayıcıya göre değiştirmeniz gerektiği anlamına geliyordu.
XHTML'nin XML kısmı, geliştiricilerin çözmesi gereken bazı garip durumlara da neden oldu. Bunlardan biri, INVALID_STATE_ERR: DOM Exception 11
HTML karakterlerini içeren metni (gibi é
) XHTML sayfasındaki bir öğeye atadığınızda görünen mesajdır . Bir AJAX isteğinde bulunduktan sonra büyük bir web uygulamasında çok yararlı mesajı ile bu hatayla karşılaştığınızda, JQuery, AJAX veya başka bir şeylerin hatası olup olmadığı hakkında hiçbir fikriniz yok.
HTML 5 kodunu yazmak, etiketlerin her yere karıştırılması anlamına gelmez. XML ve XHTML konusunda tutkuluysanız, yine de XML'e çok yakın görünecek olan HTML 5 kodunu yazabilirsiniz.
Cep telefonlarının ilk günlerinde, XHTML çok güçlü olmayan mobil cihazlar için ilginçti. XML Ayrıştırma HTML'den çok daha kolaydır. Şimdi, çift çekirdekli mobil cihazlarda, geçerli geçerli XML veya kirli HTML'yi kesmek ve karışık etiketlerle doldurmak zorunda kalmaları gerçekten önemli değil.
Ekim 2014'ün spesifikasyonu XHTML sözdiziminden bahseder . Şimdilik, yeni XHTML dili ( sözdizimi değil ) gibi bir şey olup olmadığı ve XHTML'nin konumu ne olacak, ne de yeni XHTML standardının ana tarayıcılar tarafından benimsenmesi açık değildir.
XHTML5 , "HTML5 XML olarak seri hale getirilmiş HTML" ile eşanlamlıdır.
İkisi bu şartnamede tanımlanan bu soyut dili kullanan kaynakları iletmek için kullanılabilecek çeşitli somut sözdizimleri vardır.
...
İkinci somut sözdizimi, bir XML uygulaması olan XHTML sözdizimidir. Bir belge application / xhtml + xml gibi bir XML MIME türüyle iletildiğinde, bir XML işlemcisi tarafından ayrıştırılmak üzere Web tarayıcıları tarafından bir XML belgesi olarak değerlendirilir. Yazarlara, XML ve HTML işlemlerinin farklı olduğu hatırlatılır; özellikle, küçük sözdizimi hataları bile, XML olarak etiketlenen bir belgenin tam olarak oluşturulmasını engellerken, HTML sözdiziminde yoksayılırlar. Bu spesifikasyon, "XHTML 5" olarak bilinen XHTML sözdiziminin 5.0 versiyonunu tanımlar.
Ayrıca, burada HTML5 polyglots (normal HTML5 ve XML olarak seri hale getirilebilen sayfalar) yazma konusunda güzel bir belge var:
http://dev.w3.org/html5/html-polyglot/html-polyglot.html#bib-HTML5
Ve hatta bir validator!
Bugünlerde nadiren XHTML5 olarak adlandırılır (ve muhtemelen daha nadiren kullanılır), çünkü temel olarak hala HTML5'tir, ancak hala oradadır.
Basitçe söylemek gerekirse: HTML5 spec'teki her değişiklik aynı zamanda XHTML5'teki tekabül eden bir değişikliktir.
HTML5 bir fiili ve de jure standardıdır! Standart olarak XHTML de var.
W3C Tavsiye Kararı 28 Ekim 2014
Standardın başlığı "ve XHTML" dizesini içerir , bu nedenle W3C'nin HTML ve XHTML'yi tek bir standartta birleştirme kararından söz ediyoruz ; ve bu standart, bir HTML dosyasının nasıl XHTML dosyasına seri hale getirileceğini ve bunun tersi de gösterir.
XHTML
parçalar ve önemli notlar:
application/xhtml+xml
LF Sikos tarafından özetlendiği gibi
XHTML5, HTML5'in XML serileştirmesidir. Sözdizimi, HTML5 özelliği tarafından tanımlanmıştır. Ancak, XHTML5 bir XML uygulaması olduğundan biriyle karıştırılmamalıdır. Başka bir deyişle, HTML5 ve XHTML5 aynı kelime haznesi ancak farklı ayrıştırma kurallarına sahiptir.
HTML5 belgeleri de geçerli XML belgeleri olabilir. Bu işaretlemeye genellikle “çok dilli” bir dil denir. Aynı anda HTML5 ve XML belgeleri olan belgelerin örtüşen dilidir. HTML5 ve XHTML5 serileştirmeleri çapraz uyumludur. Bununla birlikte, XHTML5 daha katı bir sözdizimine sahiptir. Ayrıca, XHTML5'in bazı kısımları HTML5'te, örneğin işleme talimatlarında geçerli değildir.
Yani, açıkçası (ve @vaxquis vurguladığı) "XHTML XML seri için sadece bir sözdizimi" vardır hayır DTD veya XML şema diğer tür .
Bazı insanlar "XHTML5, XHTML'dir" demekten hoşlanmaz. Soru, "XHTML olarak ne zaman kullanabilirim" hakkında bir mini SSS'ye bölünmelidir. Bu bir WIKI, lütfen bazı "yanlış anlama" varsa düzeltin ...
"Mükemmel ve genel HTML5 - XHTML5 / XHTML5 - HTML5 dönüşümlerinde" bazı sorunlar vardır, "kişisel seçimler" yapmanız ve bilgileri kaybetmeniz gerekir. Bağlam farklı cevaplar olacağı için:
Gevşek konuşma : EVET. Haritalamanın mükemmel ve geri döndürülebilir olduğu birçok (basit) örnek var.
Kesinlikle konuşuyorum : HAYIR. Ayrıca aşağıdaki @vaxquis yorumuna ve bu sayfadaki eski cevaplara bakın. Bazı tipik problemler:
Evet yapabilirsin. Serileştirme parçaları bile.
Evet, ama bu kadar hızlı ve eski DTD'leridir daha kolay değil ... gibi karmaşık doğrulayıcılarını Bkz validator.nu
Evet yapabilirsin. Ne yapabileceğini açıklayalım.
Cocoon gibi bazı çerçeveler " XSLT zincirlerini " kullanıyor. HTML5 ve XHTML5 çıktıları "zincirdeki son çıktı" olarak kullanılabilir ... Tabii ki, ara adımlarda, HTML5 kullanılamaz, çünkü XML değildir, ancak XHTML5 kullanılabilir.
Yukarıdaki doğrulama sorunu burada tekrar ortaya çıkmaktadır : güçlü bir kongre yoktur, bu nedenle, bazen, "XHTML standart yapısının" daha az netliği ortaya çıkar. Bu durumda “kendiniz sözleşmelere” dikkat etmeli ve tutarlı olmalısınız.
saveXML()
yöntem kullanabilir miyim ?Evet. Bu seri hale getirme tavsiyelerinin kullanıldığı tipik bir durumdur. XML geçerli olacak, XHTML5 kodu orijinal HTML5 ve DOM durumundan eşlenecek ... Ancak bazı yapılarda, yukarıda açıklandığı gibi bazı bilgiler kaybolabilir.
Evet, ne yazık ki XHTML gitti.
MainMa'nın büyük cevabına 1 neden daha eklemek:
XHTML oluşturulduğunda, WebApps tarafından, tarayıcı dışı yazılımlar tarafından anlaşılan ve etiketli çorba HTML ayrıştırıcılarına sahip olmayacak şekilde yapılandırılmış içerik sunmak için kullanılmıştır. ScreenReaders için XHTML hala harika, ancak başka herhangi bir yazılım için, WebServices bu ihtiyaca uygun ve çoğunlukla XML veya JSON kullanıyorlar. SOAP'ın kendisi, XHTML'den daha basit ve operasyon odaklı olan kendi XML Şemasına sahiptir.
Bildiğim kadarıyla, dünyada hem tarayıcılara hem de diğer istemcilere aynı HTTP mesajını veren 1 WebApp bile yok. Müşterinin tercihine bağlı olarak bir içeriğin birden fazla içerik türünde aynı temsili olarak sunulması amaçlanan REST mimarisi bile, XHTML / feed tarayıcılarına hizmet vermek için kullanılmaz.
Örneğin, Java EE'de Eclipse kullanarak HTML sunmak için Servlets + JSP'leri, Axis2 ile birlikte bir Web Hizmeti sunmak için tutan benzersiz bir savaş dosyası dağıtabiliriz. Tarayıcılara ve Web Hizmetine yönelik ayrı yazılımlar geliştirmek, hepsine hizmet veren benzersiz, karmaşık bir yazılım kullanmaktan daha kolaydır.
REST'in reddedilmesinin ana nedeni, hakkında hiçbir şey bilmeden, her tür müşteri için aynı içeriğe hizmet eden bir sunucu geliştirmenin karmaşıklığıdır (ve basit olması gerekiyordu!). Ayrıca, XHTML her değiştiğinde tarayıcı olmayan istemcileri güncellenmeye zorlamayacak kararlı bir tanımın sürdürülmesiyle birlikte Web’in hızlı gelişme ihtiyacını ele almak zordur.
Aynı şekilde, bir XHTML belgesini ayrıştıran, tarayıcı tarafından oluşturulan düzeni yapılandırması gereken ve içeriği tutması amaçlanan tüm XML öğeleri nedeniyle geçerli olsa bile tarayıcı olmayan bir istemci geliştirmek çok zordur.
REST uygulayıcıları SOAP'ın bir tarayıcı için tasarlanan bir XHTML'den daha basit olan XML karmaşıklığından şikayet ediyorlarsa, birden fazla istemci türü, sunucu ve istemci tarafı için XHTML'yi kullanmanın ne kadar zor olduğunu hayal edin.
Uygulamada: HTML'leri, isterseniz XML benzeri, tarayıcılar için Web Siteleri ve tarayıcı olmayan istemciler için herhangi bir Web Hizmeti çözümü oluşturmak için kullanın.
AMA, ayrıca XHTML5'in oluşturulması gerektiğini düşünüyorum. XHTML 1.1 (tamam, 1.0, 1.1 kullanılamaz) HTML5 ile modası geçmiş olacak ve yine de HTML5'in öğelerini kabul eden ve XML'in düzgünlüğünü doğrulayan bir denetleyiciye ihtiyacımız var.