Video: Build Tomorrow's Library by Jeffrey Licht 2024
Dikotomi antara pemikiran linier dan pemikiran holistik memisahkan (masing-masing) SAX dari DOM.
SAX (API Sederhana untuk XML) memperlakukan dokumen XML secara linier, mengerjakan potongan dokumen secara sepotong-sepotong, dari awal sampai akhir. Tapi dengan DOM (Document Object Model), Anda masuk dan melihat keseluruhan dokumen. Beberapa saat kemudian, Anda memperbesar elemen root, dan kemudian fokus lebih dekat pada elemen di dalam elemen root. Dalam beberapa situasi, melompat masuk adalah apa yang perlu Anda lakukan.
. Contoh node mencakup elemen, atribut, komentar, dan karakter di antara sepasang tag awal dan akhir. Seluruh dokumen XML itu sendiri adalah sebuah simpul. Semua dalam semua, dokumen XML dapat memiliki 12 jenis node yang berbeda. Simpul pohon Secara keseluruhan, semua nodus DOM dalam dokumen XML membentuk pohon. Ambil, misalnya, dokumen pada Listing 1. Pohon DOM dokumen ini terlihat seperti pohon yang ditunjukkan pada Gambar 1.Listing 1: The Anchovy Lovers Club
Pendiri, Presiden, Sekretaris, Manajer PublisitasPohon itu memiliki sebelas node. Untuk menghitungnya, mulailah dengan menghitung cabang pohon (mudah ditunjukkan pada Gambar 1). Kemudian hitung nama anggota pertama = "Herbert" cabang untuk kedua kalinya. (Cabang ini memiliki dua nodus DOM di atasnya. Elemen yang diberi nama Member adalah sebuah simpul, dan atribut elemen firstname = "Herbert" adalah sebuah simpul.)
Gambar 1:
Pohon yang mewakili dokumen dalam Listing 1. Sebuah risalah di pohon Ada beberapa hal yang akan Anda temukan dengan menatap pohon pada Gambar 1.Beberapa node adalah anak-anak dari node lain.
Sebagai contoh, nodus Anggota adalah node
- anak dari node AnchovyLoversClub. Itu karena, di Listing 1, elemen Anggota bersarang di dalam elemen AncoverLoversClub. Dengan cara yang sama, node Berdiri adalah anak dari simpul Anggota. Analogi keluarga ini terus berlanjut. Simpul Anggota adalah node indukdari Standing node, dan AncoverLoversClub adalah induk dari node anggota. Seluruh dokumen adalah sebuah simpul. Ini adalah poin penting, dan mudah untuk dilupakan. Pada Listing 1, elemen root dokumen adalah AnchovyLoversClub. Namun pada Gambar 1, nama AnchovyLoversClub tidak berada di puncak pohon. Sebagai gantinya, kata #document ada di bagian atas pohon.
- Simpul paling atas pohon DOM mewakili keseluruhan dokumen XML. Kesalahan terjadi saat pemrogram berpikir bahwa elemen akar dokumen memulai pohon.(Tidak.) Komentar dan potongan teks adalah simpul.Pada Gambar 1, komentarnya adalah simpul anak dari simpul dokumen. Itu karena, di Listing 1, komentarnya adalah bagian dari dokumen. Komentar tersebut tidak bersarang di dalam elemen dokumen manapun.
- Sekali lagi, kami bermain silsilah. Kita mengatakan bahwa node #document memiliki dua anak - sebuah simpul komentar dan simpul AnchovyLoversClub. Kedua simpul ini - komentar dan AnchovyLoversClub - disebut saudara kandung. Juga pada Gambar 1, teks Pendiri, Presiden, Sekretaris, Manajer Publisitas adalah bagian dari sebuah simpul. Pada Listing 1, teks Founder, President, Secretary, Publicity Manager ada di dalam elemen Standing. Jadi, pada Gambar 1, node teks ini adalah anak dari standing node. Bahkan teks yang tidak jelas adalah bagian dari sebuah simpul.Menurut Gambar 1, simpul AnchovyLoversClub memiliki tiga nodus anak langsung - dua node diberi label #text, dan node lain diberi label Member. Itu karena, sejauh menyangkut DOM, simpul AnchovyLoversClub memiliki tiga hal di dalamnya.
- carriage return dan tiga kosong Elemen anggota
carriage return
Situasi diilustrasikan pada Gambar 2.
Gambar 2:
-
Dua simpul teks pada Listing 1.
-
Tag akhir bukan simpul.Dengan SAX, Anda mungkin berpikir dalam hal memulai elemen Anggota, dan kemudian mengakhiri elemen Anggota. Di DOM, Anda tidak berpikir seperti ini. Sebagai gantinya, Anda mengunjungi elemen Anggota sekali saja. Dalam kunjungan tersebut, Anda mengunjungi elemen Berdiri dan beberapa teks. DOM tidak memiliki metode yang sesuai dengan metode SAX endElement.