Jadi apa yang terjadi dengan XHTML5?
Halaman itu adalah konsep untuk xhtml5 dan html5? Jadi tidak ada perbedaan di antara kedua tipe ini?
Jadi apa yang terjadi dengan XHTML5?
Halaman itu adalah konsep untuk xhtml5 dan html5? Jadi tidak ada perbedaan di antara kedua tipe ini?
Jawaban:
Pada 2012 saat penulisan, jelas bahwa W3C memutuskan untuk meninggalkan XHTML untuk HTML 5. Keputusan ini dimotivasi oleh beberapa alasan:
Hanya sedikit orang yang benar-benar tertarik pada XHTML. Sebagian besar situs web ditulis dalam HTML biasa.
Bahkan lebih sedikit yang benar-benar mengerti tentang XHTML dan bagaimana menggunakannya. Terlalu banyak situs web yang berpura-pura melayani XHTML menggunakan header yang salah, alih-alih Content-Type: application/xhtml+xml
.
Bahkan ketika Anda sepenuhnya memahami apa XHTML itu dan apa yang harus menjadi header, masalahnya benar-benar rumit dengan beberapa browser jelek yang tidak menerima / mendukung application/xhtml+xml
tipe konten. Ini berarti Anda harus mengubah tajuk sesuai dengan peramban.
Bagian XML dari XHTML juga menyebabkan beberapa situasi aneh yang harus diselesaikan oleh pengembang. Salah satunya adalah INVALID_STATE_ERR: DOM Exception 11
pesan yang muncul ketika Anda menetapkan teks yang berisi karakter HTML (seperti é
) ke elemen dalam halaman XHTML. Ketika Anda menemukan kesalahan ini dengan pesan yang sangat membantu dalam aplikasi web besar setelah melakukan permintaan AJAX, Anda benar-benar tidak tahu apakah itu kesalahan JQuery, AJAX, atau yang lainnya.
Menulis kode HTML 5 tidak berarti mencampur tag di sekitar. Jika Anda bersemangat tentang XML dan XHTML, Anda masih dapat menulis kode HTML 5 yang akan terlihat sangat dekat dengan XML.
Pada masa awal ponsel, XHTML menarik untuk perangkat seluler yang tidak terlalu kuat. Parsing XML jauh lebih mudah daripada HTML. Sekarang, dengan perangkat mobile dual-core, itu benar-benar tidak masalah jika mereka harus mengurai XML yang valid bersih atau HTML kotor penuh dengan hacks dan tag campuran.
Spesifikasi Oktober 2014 menyebutkan sintaks XHTML . Untuk saat ini, tidak jelas apakah ada yang namanya bahasa XHTML baru (bukan sintaksis ), dan jika ada, apa yang akan menjadi posisi XHTML, atau adopsi standar XHTML baru oleh browser utama.
XHTML5 adalah sinonim untuk "HTML5 serialized sebagai XML".
Ada berbagai sintaks konkret yang dapat digunakan untuk mengirimkan sumber daya yang menggunakan bahasa abstrak ini, dua di antaranya didefinisikan dalam spesifikasi ini.
...
Sintaks konkret kedua adalah sintaks XHTML, yang merupakan aplikasi XML. Ketika suatu dokumen ditransmisikan dengan tipe MIME XML, seperti aplikasi / xhtml + xml, maka itu diperlakukan sebagai dokumen XML oleh browser Web, untuk diurai oleh prosesor XML. Penulis diingatkan bahwa pemrosesan untuk XML dan HTML berbeda; khususnya, bahkan kesalahan sintaksis kecil akan mencegah dokumen yang diberi label sebagai XML tidak diterjemahkan sepenuhnya, sedangkan kesalahan tersebut akan diabaikan dalam sintaks HTML. Spesifikasi ini mendefinisikan versi 5.0 dari sintaks XHTML, yang dikenal sebagai "XHTML 5".
Juga, ada dokumen yang bagus untuk menulis polyglots HTML5 (halaman, yang dapat diserialisasi baik sebagai HTML5 dan XML biasa) di sini:
http://dev.w3.org/html5/html-polyglot/html-polyglot.html#bib-HTML5
Dan bahkan validator!
Ini jarang disebut XHTML5 saat ini (dan mungkin bahkan lebih jarang digunakan), karena pada dasarnya masih HTML5, tetapi masih ada di sana.
Sederhananya: setiap perubahan ke spesifikasi HTML5 juga merupakan perubahan yang terkait dan tersirat ke XHTML5.
HTML5 adalah standar de facto dan de jure ! XHTML ada di sana, sebagai standar juga.
Rekomendasi W3C 28 Oktober 2014
Judul standar berisi string "dan XHTML" , jadi, kita berbicara tentang keputusan akhir W3C untuk menggabungkan HTML dan XHTML menjadi satu standar tunggal ; dan standar ini menunjukkan cara membuat serial file HTML ke dalam file XHTML dan sebaliknya.
XHTML
bagian dan catatan penting:
application/xhtml+xml
Seperti yang dirangkum oleh LF Sikos
XHTML5 adalah serialisasi XML dari HTML5. Sintaksnya dijelaskan oleh spesifikasi HTML5. Namun, orang jangan bingung karena XHTML5 adalah sebagai aplikasi XML. Dengan kata lain, HTML5 dan XHTML5 memiliki kosa kata yang identik tetapi aturan parsing yang berbeda.
Dokumen HTML5 mungkin juga dokumen XML yang valid. Markup ini sering disebut sebagai bahasa "polyglot". Ini adalah bahasa dokumen yang tumpang tindih yang merupakan dokumen HTML5 dan XML secara bersamaan. Serialisasi HTML5 dan XHTML5 kompatibel lintas. Namun, XHTML5 memiliki sintaksis yang lebih ketat. Selain itu, beberapa bagian XHTML5 tidak valid dalam HTML5, misalnya, instruksi pemrosesan.
Jadi, secara tegas (dan ditekankan oleh @vaxquis) "XHTML hanyalah sintaks untuk serialisasi XML", tidak ada DTD atau jenis skema XML lainnya .
Beberapa orang tidak suka mengatakan "XHTML5 is XHTML". Pertanyaan harus dibagi menjadi mini-FAQ tentang "kapan saya bisa menggunakannya sebagai XHTML". Ini adalah WIKI, mohon koreksi jika ada beberapa "kesalahpahaman" ...
Ada beberapa masalah dalam "konversi HTML5-ke-XHTML5 / XHTML5-ke-HTML5 yang umum dan generik", Anda harus melakukan "pilihan pribadi" dan kehilangan informasi. Karena konteksnya akan menjadi jawaban yang berbeda:
Longgar berbicara : YA. Ada banyak contoh (sederhana) di mana pemetaannya sempurna dan dapat dibalik.
Sebenarnya : TIDAK. Lihat juga @vaxquis komentar di bawah dan jawaban lama di halaman ini. Beberapa masalah khas:
Ya kamu bisa. Bahkan serialisasi fragmen.
Ya, tetapi tidak begitu cepat dan mudah daripada DTD yang lama ... Lihat validator kompleks, sebagai validator.nu
Ya kamu bisa. Mari kita jelaskan apa yang Anda bisa.
Beberapa kerangka kerja, seperti Cocoon , menggunakan " rantai XSLT ". Output HTML5 dan XHTML5 dapat digunakan sebagai "output terakhir dalam rantai" ... Tentu saja, dalam langkah perantara, HTML5 tidak dapat digunakan karena non-XML, tetapi XHTML5 dapat digunakan.
Masalah validasi di atas muncul kembali di sini: tidak ada konvensi yang kuat, sehingga, kadang-kadang, kurang jelasnya "struktur standar XHTML" muncul. Dalam situasi itu Anda harus memperhatikan "konvensi diri sendiri", dan konsisten.
saveXML()
metode?Iya. Ini adalah situasi khas di mana rekomendasi serialisasi digunakan. XML akan valid, kode XHTML5 dipetakan dari keadaan HTML5 dan DOM yang asli ... Tetapi, dalam beberapa struktur, beberapa informasi dapat hilang, seperti yang dikomentari di atas.
Ya sayangnya XHTML hilang.
Menambahkan 1 alasan lagi untuk jawaban hebat MainMa:
Ketika XHTML dibuat, itu dimaksudkan untuk digunakan oleh WebApps untuk menyajikan konten terstruktur yang akan dipahami oleh perangkat lunak non-browser, yang tidak akan memiliki parser HTML tag-soup. Untuk ScreenReaders XHTML masih bagus, tetapi untuk semua jenis perangkat lunak lain, WebServices cocok dengan kebutuhan itu, dan mereka kebanyakan menggunakan XML atau JSON. SOAP sendiri memiliki Skema XML sendiri, lebih sederhana dari XHTML dan berorientasi operasi.
Sejauh yang saya tahu, tidak ada 1 WebApp di dunia yang menyajikan pesan HTTP yang sama untuk browser dan klien lainnya. Bahkan arsitektur REST, yang dimaksudkan untuk melayani representasi konten yang sama dalam beberapa tipe konten berdasarkan preferensi klien, tidak digunakan untuk melayani browser XHTML / feed.
Di Java EE misalnya, menggunakan Eclipse kita dapat menggunakan file perang unik yang menahan Servlets + JSPs untuk melayani HTML, bersama dengan Axis2 untuk melayani WebService. Lebih mudah untuk mengembangkan perangkat lunak terpisah yang ditujukan untuk browser dan WebService daripada memiliki perangkat lunak unik dan kompleks yang melayani semuanya.
Alasan utama penolakan REST adalah kerumitan (dan itu dimaksudkan untuk menjadi sederhana!) Untuk mengembangkan server yang menyajikan konten yang sama untuk semua jenis klien tanpa mengetahui apa pun tentangnya. Dan juga sulit untuk menangani kebutuhan Web yang berevolusi cepat, bersama dengan menjaga definisi stabil yang tidak akan memaksa klien non-browser diperbarui setiap kali XHTML berubah, katakan itu untuk menjaga XHTML valid ketika dibangun oleh banyak modul yang berbeda.
Dengan cara yang sama, sangat sulit untuk mengembangkan klien non-browser yang mem-parsing dokumen XHTML, meskipun valid, karena semua elemen XML yang dimaksudkan untuk menyusun tata letak yang dibuat oleh browser, dan tidak dimaksudkan untuk menyimpan konten.
Jika pengadopsi REST sudah mengeluh tentang kompleksitas XML SOAP, yang WAY lebih sederhana daripada XHTML yang dimaksudkan untuk browser, bayangkan betapa sulitnya menangani XHTML untuk beberapa jenis klien, server dan sisi klien.
Dalam praktiknya: gunakan HTML, seperti XML jika Anda mau, untuk membangun WebSites untuk browser, dan segala jenis solusi WebService untuk klien non-browser.
NAMUN, saya juga berpikir bahwa XHTML5 harus dibuat. XHTML 1.1 (ok, 1.0, 1.1 tidak dapat digunakan) akan menjadi usang dengan HTML5, dan kami masih membutuhkan validator yang menerima elemen HTML5 dan memvalidasi XML wellformedness.