Perbedaan Browser XML DOM
- Hal Sebelumnya Pemilahan Node DOM
- Hal Berikutnya Pencarian Node DOM
Peramban yang berbeda menangani node teks kosong di DOM XML dengan cara yang berbeda.
Contoh
Contoh di bawah ini menggunakan berkas XML books.xml.
Fungsi loadXMLDoc(), berada di JavaScript eksternal, untuk memuat berkas XML.
- Menampilkan panjang daftar node
- Contoh ini menampilkan panjang daftar node. Hasilnya berbeda di IE dan peramban lainnya.
- Tolak node teks antara node
- Contoh ini memeriksa nodeType, dan hanya menangani node elemen.
Perbedaan peramban dalam pemrosesan DOM
Semua peramban modern mendukung spesifikasi W3C DOM.
Meskipun demikian, ada perbedaan di antara peramban. Perbedaan yang penting ada dua:
- Cara memuat XML
- Cara menangani spasi dan baris kosong
di "Mengurai XML DOM” Bagian ini, sudah dijelaskan cara memuat XML yang berbeda.
Pada bagian ini, kita akan menjelaskan cara menangani spasi dan baris kosong yang berbeda.
DOM - Spasi dan Baris Kosong
XML sering mengandung baris kosong atau karakter spasi di antara node. Ini adalah situasi yang sering muncul saat menggunakan editor sederhana (seperti Notepad).
Contoh di bawah ini (diedit dengan Notepad) mengandung CR/LF di antara setiap baris, dan dua spasi di depan setiap sub-nodes:
<book> <title>Harry Potter</title> <author>J K. Rowling</author> <year>2005</year> <price>29.99</price> </book>
Firefox, serta beberapa peramban lainnya, akan mengelola spasi kosong atau garis baru sebagai node teks, sedangkan Internet Explorer tidak seperti itu.
Kode potongan di bawah ini menunjukkan berapa banyak subnode yang dimiliki oleh root elemen (books.xml):
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.documentElement.childNodes; document.write("Jumlah subnode: " + x.length);
Contoh penjelasan:
- Dengan menggunakan loadXMLDoc() Buang "books.xml" di dalam xmlDoc
- Ambil subnode root elemen
- Menampilkan jumlah subnode
Hasilnya tergantung pada peramban yang digunakan. Firefox menampilkan 9, sementara IE menampilkan 4.
Tolak node teks antara node
Untuk menolak node teks kosong antara node elemen, periksa tipe node. Tipe node elemen adalah 1:
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.documentElement.childNodes; for (i=0;i<x.length;i++) { if (x[i].nodeType==1) {// hanya menangani node elemen document.write(x[i].nodeName); document.write("<br />"); } }
Contoh penjelasan:
- Dengan menggunakan loadXMLDoc() Buang "books.xml" di dalam xmlDoc
- Ambil subnode root elemen
- Periksa tipe node setiap subnode. Jika tipe node adalah "1", maka itu adalah node elemen
- Hal Sebelumnya Pemilahan Node DOM
- Hal Berikutnya Pencarian Node DOM