Difference Between XML and HTML (with Comparison Chart) - Tech ...
Perbedaan XML dan HTML

Bagi kalian yang belum tahu, Extensible Markup Language atau yang biasa kita dengar dengan singkatan XML merupakan bahasa markup serba guna yang digunakan untuk mendeskripsikan berbagai macam data. XML menggunakan markup tags seperti halnya HTML (Hypertext Markup Language) namun penggunaannya tidak hanya terbatas pada tampilan halaman web saja bahkan smartphone pun juga menggunakan XML. XML juga bersifat platform independen, sehingga informasi di dalamnya bisa dibaca oleh aplikasi apapun serta pada platform apapun selama aplikasi itu mampu menerjemahkan tag–tag XML. 

 
Pada mulanya XML didesain oleh sebuah kelompok kerja yang terdiri dari sebelas orang. Mereka mendapat dukungan dari 150 orang di luar kelompok tersebut. Pemimpin bidang teknis tim sebelas, James Clark, menyumbangkan elemen empty “>”, dan nama XML itu sendiri. Nama-nama lain yang sempat diusulkan antara lain MAGMA (Minimal Architecture for Generalized Markup Applications), SLIM (Structured Language for Internet Markup), dan MGML ( Minimal Generalized Markup Language). Pada 10 Februari 1998, XML 1.0 direkomendasikan secara resmi oleh W3C (World Wide Web Consortium). XML 1.0 merupakan pencapaian tim sebelas dalam mendesain markup language untuk tujuan penggunaan di Internet yang serba guna dan kompetibel dengan SGML (Standard Generalized Markup Language). Selain itu, XML 1.0 juga mendukung pengembangan software yang memprosesnya, meminimalisasi fitur-fitur opsional, terbaca oleh manusia, singkat, padat, dan mudah untuk ditulis. Telah dilakukan kali ketiga perbaikan minor pada XML 1.0 perbaikan kedua menghasilkan XML 1.1, yang kini telah menjalani satu kali perbaikan. Pada 16 Agustus 2006 yang lalu, XML 1.0 Fourth Edition, dan XML 1.1 Second Edition dipublikasikan. Keduanya dianggap sebagai versi terakhir XML yang ada sekarang. 
Kegunaan XML
 X
dirancang khusus untuk penyampaian informasi melalui World Wide Web(WWW), sama seperti HTML yang telah menjadi bahasa standar untuk membuat halaman web sejak awal kehadiran web. XML adalah salah satu format/ekstensi file yang berbasis teks, yang memiliki ekstensi berakhiran (.xml). Penggunaan XML untuk pemrograman web interaktif sangat cocok sekali, selain mudah dimengerti struktur elemennya karena menggunakan tag sesuai keinginan kita sendiri, begitu juga dengan script-nya (menggunakan JavaScript, JScript atau VBScript). Selain itu, XML didesain sebagai solusi interoperabilitas (interaksi antar aplikasi) dari platform aplikasi yang berbeda.
Misalnya software A berjalan diatas platform .NET yang kemudian ingin berbagi informasi dengan software B yang berjalan pada platform Java. Maka yang terjadi adalah software A akan membaca request dari software B dalam format XML atau bisa juga software A menyediakan informasi yang sudah dikemas dalam format XML (.xml), kemudian dapat dimanfaatkan juga oleh software B, C, D, E, dan seterusnya. Untuk mengakses informasi dalam format XML ini, biasanya digunakan tool yang bersifat Web Sevice. Contoh yang paling sederhana dan sering ditemui dalam kasus ini adalah RSS feed dan aggregator. Saat ini banyak website berita dan blog yang menyediakan berbagai informasi yang dikemas dalam format XML, atau dikenal dengan nama RSS feed. Kemudian website lain ataupun aplikasi desktop yang disebut aggregator dapat memanfaatkan informasi ini melalui web service melalui protokol HTTP untuk membaca file XML dan menampilkannya.
Secara umum, berikut adalah beberapa kegunaan dari XML. XML digunakan untuk memisahkan data dari HTML Jika kita ingin menampilkan data yang dinamis pada sebuah halaman web HTML, maka akan sulit apabila kita menyimpan data tersebut pada file HTML nya sendiri. Namun dengan XML, data dapat disimpan pada file XML terpisah kemudian dapat mengganti atau merubah setiap waktu isinya lewat beberapa baris kode pada javascript. Dengan begitu kita dapat memfokuskan HTML/CSS hanya untuk tampilan dan tata letaknya. XML memudahkan data sharing Sistem atau platform yang mengakses suatu website sangatlah beragam. Namun karena XML dibangun dengan format plain text maka berbagai platform ataupun sistem lain dapat dengan mudah mengakses file XML. XML memudahkan data transport Dengan XML yang bersifat platform independen sehingga dapat dipakai oleh beberapa platform sekaligus, maka ini akan memudahkan transmisi data antar aplikasi. XML mendukung platform changes Dengan XML, kita tidak perlu khawatir akan perubahan teknologi baik itu hardware atatupun software karena data XML yang berformat plain text, akan lebih memudahkan ketika suatu sistem yang mengakses data pada file XML harus berganti platform ataupun sistem operasi. XML memudahkan data dibaca oleh beragam teknologi Dengan XML, data akan lebih mudah dibaca oleh beragam “reading machines” seperti komputer, komputer genggam (handphone, smartphone dll.), voice machine, news feed, dan lain sebagainya. XML juga digunakan untuk membangun bahasa internet baru Ada beberapa bahasa internet (Internet Language) yang dikembangakn dengan bantuan XML, antara lain XHTML, WSDL (untuk mendeskripsikan web service yang tersedia), WAP dan WML (bahasa markup pada komputer genggam), RSS (untuk news feed), RDF dan OWL (mendeskripsikan sumber daya dan deksripsi mengenai informasi web dan keterhubungan antara informasi web), dan SMIL (mendeskripsikan multimedia pada sebuah web). 3. Struktur XML XML merupakan sebuah markup language seperti halnya HTML. Namun berbeda dengan HTML yang memerintahkan web browser bagaimana menampilkan informasi, XML menandai informasi secara terstruktur sehingga memudahkan aplikasi lain mengekstrak dan menggunakannya. Seperti halnya HTML, XML juga menggunakan tag–tag. Jika tag–tag pada HTML bersifat baku, tag–tag XML dapat dibuat sendiri, sesuai dengan kebutuhan. Untuk memudahkan aplikasi membaca tag–tag apa saja yang memuat informasi serta struktur hierarkinya, XML 1.0 dilengkapi dengan DTD (Document Type Definition) yang terletak pada bagian header file. Untuk menutup kekurangan pada DTD, XML 1.1 mengganti DTD dengan XSD (XML Schema Definition) yang lebih powerfull dalam menggambarkan struktur file XML. Walaupun sama-sama turunan SGML, tidak berarti XML dan HTML memiliki sifat yang sama. Seperti yang kita ketahui, HTML memiliki sifat toleransi yang berarti dimana terdapat kesalahan code pada file HTML, web browser akan tetap berusaha menampilkannya sebaik mugkin, dengan menduga apa kira-kira maksud dari code yang salah tersebut atau paling tidak web browser mengabaikan tag yang salah. Namun tidak demikian dengan XML. Aplikasi yang menggunakan XML akan langsung berhenti dengan tiba-tiba saat menemukan tag yang salah dan mengatakan bahwa terdapat kode yang salah pada file XML yang dimaksud. Dalam dokumen XML, terdiri dari bagian-bagian yang disebut dengan node. Node–node tersebut antara lain: Root Node yaitu node yang melingkup keseluruhan dokumen. Dalam satu dokumen XML hanya ada satu root node. Node node yang lainnya berada di dalam root node. Element node (Child node) yaitu bagian dari dokumen XML yang ditandai dengan tag pembuka dan tag penutup, atau bisa juga sebuah tag tunggal elemen kosong seperti . Element node biasa juga disebut root element. Attribute node, merupakan yang termasuk nama dan nilai atribut yang ditulis pada tag awal sebuah elemen atau tag tunggal. Text node, adalah text yang merupakan isi dari sebuah elemen, ditulis diantara tag pembuka dan tag penutup. Comment node adalah baris yang tidak dieksekusi oleh parser, kecenderungan berisi komentar/penjelasan dari dokumen XML (<!—komentar–> ) Processing Instruction node, adalah perintah pengolahan dalam dokumen XML. Node ini diawali dengan karakter . Tapi perlu diingat bahwa header standard XML , bukanlah processing instruction node. Header standard bukanlah bagian dari hierarki XML tree. NameSpace node, node ini mewakili deklarasi namespace. Berikut ini adalah contoh struktur dari sebuah dokumen XML (XML tree) Contoh XML tree Apabila gambar diatas direpresentasikan dalam bentuk file dokumen XML, maka akan menjadi seperti dibawah ini. Contoh Dokumen XML Elemen root dalam contoh diatas adalah , jadi semua elemen pada contoh diatas merupakan isi di dalam elemen . Tiap-tiap elemen memiliki 4 children yaitu