Kategori
Web Standards

Latah Memakai Deklarasi XML

Diperbarui 7 Agustus 2010 oleh Dani Iswara

Sebaris markah deklarasi atau protokol standar eXtensible Markup Language (XML) latah muncul di beberapa desain situs blog. Prolog XML itu berupa:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ...

Apa maknanya? Haruskah dipakai?

Selain prolog XML di paling awal halaman Web, ada cara lain. Dengan menggunakan (dalam format XHTML), misalnya:
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" />
Tapi metode elemen meta itu tidak dikenali oleh pengurai/parser XML.

Dokumen XHTML, bukan HTML, memang layak memakainya. Bisa jadi penting & tidak penting bagi peramban Web. Tapi, (validator) W3C sudah melunak mengenai dipakai atau tidaknya deklarasi itu. Sempat saya singgung sedikit saat menulis XHTML5 Poliglot plus SVG & MathML di blog Dani Iswara .com.

Riwayatnya dulu, beberapa peramban Web lawas kesulitan menerjemahkan/me-render halaman Web yang memakai prolog XML tersebut. Sehingga memicu moda quirksmode dan menerjemahkan halaman sebagai teks biasa atau plaintext mode.

Risiko deklarasi XML

Jika suatu halaman atau dokumen Web disajikan dengan menyertakan prolog XML & berekstensi .xhtml atau .xml, lalu user agent mendukung fitur itu, maka berkas tersebut akan diterjemahkan mengikuti standar XML. Dengan segala aturan penulisan markah XHTML atau XML yang begitu ketat/strict. Bukan sekadar doctype XHTML 1.0 Strict atau XHTML 1.1 yang disajikan sebagai text/html. Saking ketatnya, jika ada kesalahan penulisan markah, tipe dokumen yang tersaji sebagai application/xhtm+xml bisa berisiko tampil tidak sempurna di peramban Web berbasis grafis. Hanya muncul pesan galat semacam death screen. Walau halaman Web error itu masih bisa diindeks Google (Dani Iswara .com).

Halaman Web/blog yang ditulis dengan markah XML, memakai doctype 'semu' XHTML, tapi disajikan sebagai text/html, maka deklarasi XML akan diabaikan oleh kebanyakan peramban Web saat ini. Halaman tetap tersaji sebagai .html, bukan .xml atau .xhtml. Tidak terbayangkan jika sekian banyak halaman blog Blogspot disajikan sebagai XML murni. Berapa banyak yang akan menghasilkan death screen? Pernah melihat berkas sitemap.xml tidak termuat sempurna? Serupa itulah kejadiannya.

Perlukah prolog XML itu?

Jika dokumen Web memang akan disajikan sebagai XML & memakai encoding selain Unicode Transformation Format-8 (UTF-8) & UTF-16, disarankan memakai deklarasi tersebut. Kecuali ada protokol yang lebih tinggi di level server (misal setelan HTTP header) yang sudah mengatur fungsi encoding itu. Walau ada juga saran yang menganjurkan agar deklarasi tersebut tetap dicantumkan di tiap dokumen XML. Terutama untuk membantu para pengembang & penerjemah dalam proyek pengalihbahasaan.

Yang terjadi saat ini, walau blog berbasis .html, konten Web makin sering diintegrasikan dengan fitur XML seperti editor XML, XSLT, dan AJAX. Termasuk SVG & MathML, sebelum (X)HTML5 menjadi versi stabil nantinya. Sehingga pemakaian deklarasi XML di awal dokumen masih bermanfaat.

Di peramban Web modern saat ini, dengan atau tanpa prolog XML, asal menyertakan deklarasi doctype, maka dokumen akan diterjemahkan dalam moda standar Web, bukan plaintext/quirksmode. Jika ada markah yang mendahului deklarasi doctype, Internet Explorer versi 6 dan yang lebih lawas akan menerjemahkannya dalam quirksmode atau bahkan tidak mampu menampilkan dokumen Web tersebut dengan baik.

Simpulan

Jika ingin taat asas, pakai deklarasi XML sesuai kondisi di bawah:

  • memang menyajikan XML atau XHTML murni, dengan segala risiko death screen-nya.
  • mengintegrasikan fitur sejenis editor XML, XSLT, AJAX, SVG, dan MathML.
  • menggunakan encoding selain UTF-8 dan UTF-16.

Atau abaikan taat asas di atas, cukup sertakan doctype sesuai standar Web. Tenang saja, peramban Web makin pemaaf, kok!

Referensi

8 tanggapan untuk “Latah Memakai Deklarasi XML”

Bli Dani,
Jadi kesentil neh, mungkin untuk blog seperti milik saya, hanya menyajikan teks dan gambar tidak perlu menggunakan doctype XHTML lebih tepatnya menggunakan HTML saja. Ada saran bli? walaupun sebenarnya Bli Dani pernah menyinggung ini di aldymy.name.

Pak Aldy,
Kalau itu, sayapun tersentil kok. Untuk pemelajaran, pemakaian XHTML sepertinya masih masuk akal.

Sayapun memakai doctype saat ini hanya untuk uji coba blog. Padahal belum tentu sering menyajikan SVG & MathML di tiap tulisan. Kecuali mungkin, seorang narablog desainer, penguji SVG-MathML, dan dosen/ilmuwan matematika.

HTML5 jadi makin masuk akal. Tapi, karena situs Web/blog yang memakai XHTML 1.1 murni makin jarang (Dani Iswara .Net), saya ikut melestarikannya saja. :)

Bli Dani,
Seperti yang pernah Bli singgung sebelumnya, doctypeXHTML tetapi dalam prakteknya hanya HTML, beruntung W3C masih kompromi, sehingga dianggap valid.

Menggunakan XHTML murni, mungkin lebih sulit lagi dalam perawatannya bli. Saya merasakan sendiri di personfield.
Mungkin yang masih belum banyak dipahami keuntungan menggunakan deklarasi XHTML. Tutorial di W3C terasa terlalu teknis, mungkin ini penyebab lain, kenapa pengguna awam lebih cenderung yang penting valid (yang mau peduli).

Bukan mengeluh Bli, saya merasakan sendiri sulitnya memahami bahasa tehnis di W3C.

Pak Aldy,
Benar, dokumentasi W3C memang terlalu teknis. Buat saya juga. Kadang saya menelannya begitu saja. Tanpa benar-benar memahaminya.
Silakan Pak Aldy menyederhanakannya sesuai pengalaman praktis & bahasa masing-masing. Itu pasti akan sangat berarti bagi pengguna yang lain.

Keuntungan dokumen berdeklarasi XHTML? Teorinya, jika tidak menyajikan konten XML seperti saya sebut di atas, tidak ada untungnya! Tapi poin pemelajaran mungkin masih bisa diterima.

Tapi (lagi), dengan adanya (X)HTML5 disertai keguguran XHTML 2.0, apakah pemelajaran XHTML masih perlu? Saran saya, mulai mempelajari (X)HTML5. Mumpung masih diinkubasi.

ardianzzz,
Migrasi ke seri 5? Mungkin, tapi bukan blog ini. Karena XHTML5 masih perlu banyak polesan & menunggu kesiapan peramban Web untuk SVG & MathML-nya. Sementara pakai yang stabil saja dulu. Kasihan, XHTML 1.1 makin langka.

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

Situs ini menggunakan Akismet untuk mengurangi spam. Pelajari bagaimana data komentar Anda diproses.