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 2024

Video: XML and Java tutorial: Creating a SAX event handler class | lynda.com 2024
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

Bagaimana membuat halaman depan situs Anda - dummies

Bagaimana membuat halaman depan situs Anda - dummies

Untuk sebagian besar, ketika Anda kunjungi blog yang didukung oleh WordPress, blog ada di halaman utama. Blog pribadi ini, didukung oleh WordPress (tentu saja), menampilkan posting blog terbaru di halaman depan. Pengaturan ini khas dari situs yang dijalankan oleh WordPress. Tapi halaman depan situs bisnis ini, webdevstudios. com, ...

Bagaimana Menemukan Pengencer untuk Konten WordPress Anda - dummies

Bagaimana Menemukan Pengencer untuk Konten WordPress Anda - dummies

Influencer dapat menjadi cara yang berguna untuk promosikan konten WordPress anda Setelah Anda menyusun daftar situs yang ingin Anda targetkan, Anda dapat mulai memecah daftar dan menentukan siapa influencer di niche Anda, termasuk influencer yang tersembunyi. Penyerang tersembunyi adalah orang-orang yang memiliki jejak sosial yang besar yang tidak harus ...

Cara Mengaktifkan WordPress. com Theme - dummies

Cara Mengaktifkan WordPress. com Theme - dummies

Pilih tema untuk WordPress Anda. com blog, lalu aktifkan. WordPress. Tema com (juga disebut design atau template) yang Anda pilih mempengaruhi tata letak visual dan tampilan blog Anda.

Pilihan Editor

Bagaimana Membuat Penunjukan dengan Outlook. com - dummies

Bagaimana Membuat Penunjukan dengan Outlook. com - dummies

Perlu membuat janji temu di Outlook. com? Jika Anda adalah pejuang jalan berat, Anda mungkin menyimpan kalender Anda di smartphone untuk referensi Anda sendiri, tapi untuk orang lain, janji dan rapat tersebut sangat mungkin terjadi pada Kalender Outlook. Janji dan rapat yang Anda poskan di Outlook terkait dengan Outlook. com, jadi dari apapun ...

Pilihan Editor

Desain Media Sosial: Cara Menggunakan Alat Wandel Magic Photoshop - dummies

Desain Media Sosial: Cara Menggunakan Alat Wandel Magic Photoshop - dummies

The Magic Wand Alat bisa menjadi alat yang baik untuk memanipulasi foto agar bisa digunakan di situs media sosial Anda. Alat Magic Wand di Photoshop telah menjadi subyek banyak cemoohan dari para profesional pengedit foto, yang menganggapnya sebagai jenis hal yang disalahgunakan oleh orang-orang baru yang menghasilkan pilihan bergerigi bergerigi yang membuat ...

Desain Media Sosial: Opsi Gambar Twitter - dummies

Desain Media Sosial: Opsi Gambar Twitter - dummies

Tantangan terbesar dengan desain Twitter adalah mencari tahu bagaimana caranya. menyulap batasan ruang dan cara terbaik untuk memposisikan tiga gambar terpisah yang diizinkan Anda gunakan di profil Twitter Anda.

Social Media Optimization: Menampilkan Tweet secara Otomatis ke Profil Facebook Anda - dummies

Social Media Optimization: Menampilkan Tweet secara Otomatis ke Profil Facebook Anda - dummies

Datang dengan Hal baru untuk dikirim ke Facebook bisa menjadi tugas yang cukup. Untungnya, ada trik Anda bisa mengoptimalkan situs media sosial ini. Jika Anda dapat memanfaatkan cross-posting konten antar layanan, Anda dapat menghemat waktu. Twitter memberi Anda kemampuan untuk menghubungkan profil Anda dengan layanan lainnya. Ada, ...