Rumah Keuangan Pribadi Parsing XML Events with SAX - dummies

Parsing XML Events with SAX - dummies

Daftar Isi:

Video: XML and Java tutorial: Creating a SAX event handler class | lynda.com 2025

Video: XML and Java tutorial: Creating a SAX event handler class | lynda.com 2025
Anonim

Kata event memunculkan semua jenis gambar. Bagi seorang nonprogrammer, sebuah acara hanyalah "sesuatu yang terjadi. "Jika Anda terbiasa menangani jendela dan bingkai di Jawa, mungkin Anda memikirkan sebuah peristiwa sebagai kejadian yang membangunkan sebuah kode. Misalnya, klik mouse pengguna atau keystroke membangunkan kode yang menetapkan opsi dan menampilkan kotak OK. Klik atau keystroke itu sendiri disebut event karena hal itu terjadi secara independen dari program yang sedang berjalan. Hanya pengguna yang tahu kapan dia akan menekan tombol itu. Dan saat tombol ditekan, sebagian dari program Java baru saja bangun dan menangani situasi. Skenario ini disebut event-driven programming .

Event-driven programming

Program SAX event-driven . Misalnya, Anda tidur karena tidur nyenyak. Anda mengulurkan tangan untuk mengatur jam alarm Anda dan kemudian menetap, menutup mata Anda, dan menjadi tidak sadar selama beberapa jam. Kemudian sebuah peristiwa penting terjadi: Suatu waktu tertentu tiba. Saat acara berlangsung, jam alarm masuk ke mode "bangun" - dan membuat hiruk pikuk membuat Anda tertidur lelap.

Inilah skenario lain. Anda seorang eksekutif yang sibuk dan Anda akan keluar selama beberapa jam, tapi Anda tidak ingin melewatkan bisnis penting apa pun. Sebelum meninggalkan kantor, Anda memberi tahu asisten Anda, "Panggil saya jika ada sesuatu yang penting muncul. "Menerbitkan pesanan ini sama seperti menyetel jam alarm. Anda memberi tahu asisten Anda (jam alarm Anda) untuk membangunkan Anda jika sebuah peristiwa terjadi. Membuat permintaan ini ke asisten Anda (atau ke jam alarm Anda) disebut registrasi . Dalam skenario kedua, Anda mendaftarkan diri Anda dengan layanan wakeup. Setelah Anda terdaftar, Anda dapat mengejar aktivitas tidak santai Anda, mengabaikan semua bisnis nyata sampai beberapa peristiwa terjadi. Lalu …

Ring, ring. Ponsel Anda berteriak pada Anda. "Halo? "

" Halo. Ini asistenmu Saya memiliki angka penjualan untuk kuartal pertama. Mereka 1 juta, 4 juta, dan 2 juta. "

" Mari kita lihat. Itu total 7 juta, "katamu. "Saya akan mencatatnya di PalmPilot saya. Terima kasih. "Anda menutup telepon.

Beberapa saat kemudian, Anda mendapat telepon lain. "Presiden Big Bucks, Inc., ingin menutup kesepakatan itu. Mereka berbicara 10 juta dolar. "

"Hmm," jawab Anda. "Itu akan membawa pendapatan tahunan kami hingga 17 megabucks. Saya akan menyimpan informasi itu di aplikasi spreadsheet saya. Terima kasih sudah menelepon. "

Masing-masing interaksi ini dikenal sebagai panggilan balik .Sebelumnya pada hari itu, ketika Anda mendaftarkan keinginan Anda dengan asistennya, Anda meminta sebuah panggilan balik. Kemudian, kapan pun acara berlangsung, asisten membuat panggilan balik untuk memberi tahu Anda tentang acara tersebut. Dalam istilah pemrograman Java, asisten memanggil salah satu dari banyak metode Anda (salah satu subprogram Java Anda).

Inti dari pemrograman berbasis event

Pemrograman berbasis event memiliki tiga bagian:

  • Registration: Anda mendaftarkan keinginan Anda untuk diberitahu bila terjadi peristiwa. Anda mendaftarkan keinginan ini dengan potongan kode lain - objek lain, biasanya sesuatu yang telah Anda impor (seperti potongan kode yang merupakan bagian dari API orang lain). Objek ini kemudian berjaga-jaga, dari balik layar, untuk terjadinya acara yang Anda tentukan.
  • Peristiwa kejadian: Peristiwa tertentu terjadi.
  • Callback: Bagian kode lainnya melakukan panggilan balik. Salah satu metode Anda dipanggil.

Dua kode

Membedakan antara kode kode aktif dan pasif berguna:

  • Kode aktif memiliki metode utama. Kode aktif, setelah mulai berjalan, mengambil panggung utama. Kode aktif berisi benang eksekusi yang mengendalikan keseluruhan permainan bola.
  • Kode pasif hanya ada di sana, menunggu untuk dipanggil. Kelas Dice pasif tidak melakukan apapun sampai beberapa kode lain memanggil Dice. gulungan().

Sekarang, Anda mungkin berpikir bahwa kode pasif adalah semua yang Anda butuhkan untuk pemrograman berbasis event tapi sebenarnya tidak. Untuk penanganan acara, Anda memerlukan langkah pendaftaran ini. Kode pasif dimulai dengan mendapatkan terdaftar dengan beberapa bagian kode lainnya.

Untuk menguatkan pengertian pendaftaran ini, pikirkan contoh dari dunia tikus, jendela, dan kancing di layar. Anda membuat jendela atau bingkai. Anda ingin frame Anda merespons klik mouse, jadi Anda mengeluarkan perintah berikut:

tombol. addMouseListener (ini);

Perintah ini mendaftarkan bingkai Anda dengan tombolnya. Perintah tersebut mengatakan, pada dasarnya, Setiap kali terjadi peristiwa mouse, sebutlah salah satu metode penanganan mouse frame . Nantinya, saat pengguna mengklik mouse, frame mendapat callback. Komputer memanggil metode mouseClicked frame.

Peristiwa SAX

Tentu, SAX adalah event-driven, tapi ini tidak berarti program SAX menunggu klik mouse. Sebagai gantinya, kode SAX mengikuti model register-event-callback yang dijelaskan dalam beberapa paragraf terakhir. Setiap program SAX memiliki dua bagian kode yang tak terpisahkan:

  • Sepotong kode yang Anda tulis - disebut handler . (Penangan Anda dapat memperpanjang kelas DefaultHandler yang telah ditulis sebelumnya.)
  • Pawang adalah seperti eksekutif juta dolar di bagian sebelumnya.
  • Sepotong kode yang biasanya tidak Anda tulis - parser . Parser memainkan peran seperti asisten eksekutif. Java 1. 4 API memiliki parser built-in. Anda membuat contoh parser ini, dan kemudian Anda mendaftarkan handler Anda dengan instance parser itu. Akibatnya, Anda memberi tahu contoh untuk menelepon kembali pawang Anda kapan pun sebuah peristiwa terjadi.

Apa pun yang berhubungan dengan XML itu baru, dan masih dalam keadaan fluks. Karena itu, terminologi ini ditambal bersama dengan beberapa cara yang aneh. Saat mengembangkan versi SAX 2, beberapa teknisi memiliki festival make-up-new-names. Apa yang biasanya disebut "parser" diwujudkan dalam antarmuka Java yang bernama XMLReader. Dulu ada kelas bernama org. xml saksofon. Parser, tapi kelasnya sudah usang (yang berarti Anda harus mengikisnya dari dasar sepatu Anda). Untuk membuat hal-hal sedikit lebih rumit, masih ada alat penguraian lain, javax. xml parser SAXParser. Anda menggunakan SAXParser ini untuk membuat XMLReader sendiri. Dengan sedikit keberuntungan, Anda akan segera terbiasa dengan terminologi yang berbelit-belit ini. Untuk saat ini, ingatlah bahwa apa yang disebut "parser" biasanya merupakan instance dari XMLReader.

Skenario register-and-callback adalah apa yang membuat SAX event-driven. Sekarang yang lucu adalah, acara SAX tidak berwujud. Acara SAX tidak akan mengingatkan Anda akan keystroke atau klik tombol. Di SAX, parser memindai dokumen XML dari atas ke bawah. Setiap kali parser menemukan sesuatu yang menarik, parser mengeluarkan sebuah acara dan memanggil pawangnya. Lalu, terserah kepada pawang untuk melakukan sesuatu tentang pertemuan menarik ini.

Parsing XML Events with SAX - dummies

Pilihan Editor

SharePoint 2010 Edit Menu - dummies

SharePoint 2010 Edit Menu - dummies

SharePoint 2010 menyediakan dua metode untuk bekerja dengan dokumen. Setiap dokumen memiliki menu Edit yang dapat Anda gunakan untuk mengambil beberapa tindakan pada dokumen itu, seperti memeriksanya untuk diedit. Ribbon juga menampilkan serangkaian tindakan yang dapat dilakukan pada masing-masing dokumen atau sekelompok dokumen yang dipilih. Mengakses ...

SharePoint 2010 Halaman Master dan Galeri Tata Letak Halaman - dummies

SharePoint 2010 Halaman Master dan Galeri Tata Letak Halaman - dummies

Jika Anda berada di situs kolaborasi SharePoint 2010 koleksi, Anda bisa mencatat galeri Master Page di Galeri, namun tidak ada link untuk menerapkan halaman utama di bagian Look and Feel. Di situs penerbitan, Anda memiliki galeri Halaman Utama dan Galeri Page Layout serta pilihan Master Page di ...

Kerangka situs Business Intelligence Center SharePoint 2010 - dummies

Kerangka situs Business Intelligence Center SharePoint 2010 - dummies

Template situs Business Intelligence Center yang baru di SharePoint 2010 menyatukan semuanya untuk Anda guna memantau, menganalisis, dan mewakili data kinerja dan hasil dalam organisasi Anda. Untuk membuat situs berdasarkan template Business Intelligence Center, Anda harus memiliki fitur PerformancePoint Services Site Collection yang diaktifkan. Jika Anda bukan ...

Pilihan Editor

Manfaat Memotret di Alam pada masa siang hari

Manfaat Memotret di Alam pada masa siang hari

Jika Anda kebetulan melakukan pemotretan di alam tengah hari, maka Anda mungkin memiliki waktu yang lebih sulit menemukan cahaya yang memiliki arah atau kualitas yang Anda inginkan. Matahari bertumpu tinggi di langit untuk sebagian besar hari itu, berseri lurus ke bawah pada subjek Anda ...

Manfaat Kamera Digital Kompak untuk Fotografi HDR

Manfaat Kamera Digital Kompak untuk Fotografi HDR

(Kadang disebut titik digital - dan - kamera shoot) adalah yang termurah masuk ke fotografi dengan rentang dinamis tinggi. Anda bisa membelinya seharga sekitar $ 100 dan memulai karir Anda tanpa harus mendapatkan hipotek kedua di rumah Anda. Berikut adalah beberapa model yang bisa sesuai dengan tagihan. Nikon Coolpix S220 dan Canon PowerShot A480 ...

HDR hitam-putih: Berwarna dengan Elemen Variasi Warna Alat - dummies

HDR hitam-putih: Berwarna dengan Elemen Variasi Warna Alat - dummies

Salah satu pilihan untuk mewarnai gambar kisaran dinamis hitam-putih tinggi (HDR) di Photoshop Elements adalah dengan menggunakan alat Variasi Warna. Beberapa kontrol tersedia di sini dimana Anda dapat menambah atau mengurangi warna pada daerah nada tertentu. Dengan kata lain, jika Anda ingin meningkatkan warna hijau dalam bayang-bayang, Anda bisa. Kelemahannya adalah bahwa ...

Pilihan Editor

Membangun Swift Outlets and Actions with Xcode - dummies

Membangun Swift Outlets and Actions with Xcode - dummies

Xcode memiliki Interface Builder yang terpasang di dalamnya sehingga Anda dapat merancang antarmuka Anda secara grafis Kunci untuk membuat semuanya bekerja adalah menghubungkan elemen grafis dari Interface Builder ke file Swift Anda. Xcode memudahkan - cukup ikuti langkah berikut: Buka Utama. storyboard Papan cerita utama Anda mungkin memiliki nama yang berbeda; ini ...

Memilih Bagaimana Melaksanakan Fungsi di Swift - dummies

Memilih Bagaimana Melaksanakan Fungsi di Swift - dummies

Saat Anda sedang berpikir untuk membuat sebuah aplikasi, bagaimana caranya? Anda memutuskan bagaimana menerapkan fungsinya? Swift, bersama dengan kerangka Cocoa and Cocoa Touch, menyediakan berbagai macam alat untuk membantu Anda. Berikut adalah daftar beberapa pertanyaan untuk diajukan kepada diri sendiri saat menentukan mana yang akan digunakan: Apakah ini sesuatu yang ...

Memoles Alat Pengembangan Anda untuk Pemasar Kakao - dummies

Memoles Alat Pengembangan Anda untuk Pemasar Kakao - dummies

Kakao adalah salah satu jenis program yang dapat Anda lakukan dengan Apple's Alat pengembang. Kakao adalah kumpulan alat dan perpustakaan yang memungkinkan Anda mendapatkan hasil maksimal dari pemrograman Mac OS X. Banyak fitur membuat Cocoa hebat, termasuk yang berikut: Desain berorientasi objek modular Penggunaan kerangka kerja Desain antarmuka visual Mengapa program dengan ...