Sarana Informasi Bidang Informatika.

Sekilas Simple API for XML (SAX)

Simple API for XML (SAX) dibuat oleh David Megginson dan bersifat  open source. Versi awal SAX dibuat untuk Java, tetapi versi SAX2, juga mendukung VB 6.0 dan VB.NET. SAX API digunakan untuk memproses dokumen XML.
Software yang menggunakan SAX untuk memproses dokumen XML disebut SAX parser. SAX parser tidak mengambil seluruh dokumen XML dalam memori, tetapi hanya yang dibutuhkan saja. SAX parser adalah parser event-driven yang membaca data di dokumen XML berurutan dari awal hingga akhir. SAX API cocok untuk memproses dokumen XML yang besar karena menggunakan sedikit memori.

SAX menggunakan class dan interface SAX API untuk memprosesdokumen XML. SAX memiliki beragam event listener yang memberitahuparser SAX tentang beragam kejadian di dokumen, apakah “start document”,“end document”, “start tag”,"end tag”, atau lainnya. SAX parser memberitahu aplikasi SAX setiap kali ia  mendapatkan event tersebut. Pemberitahuan dikerjakan dengan method callback: startDocument(), characters(), endDocument().  Method-method  ini didefinisikan oleh  handler interfaces,  semisal  ContentHandler, DTDHandler, ErrorHandler,  dan EntityResolver. Handler interface mendefinisikan method untuk setiap event. Lakukan implements handler interfaces dalam aplikasi SAX dan override method callback untuk menerima pemberitahuan event penelusuran.  Sebagai contoh, parser  SAX  memanggil  method  startElement()  ketika ia menemukan<,  memanggil  endElement()  ketika menemukan  </.  Apa yang akan dilakukan ketika menemukan <, perlu dituliskan dalam method startElement().SAX bekerja dengan cara callbacks: Anda panggil SAX parser, parser memanggil method yang Anda sediakan.  Gambar berikut  menunjukkan cara kerja SAX.

SAX API terdiri dari beragam paket yang digunakan untuk menelusuri dokumen XML. Paket org.xml.sax berisi interface dasar SAX API.
Handler interface inti dari paket ini adalah:

  1. ContentHandler
  2. ErrorHandler
  3. DTDHandler
  4. EntityResolver

Interface Content Handler
Interface ini menyediakan beragam method callback yang dipanggil ketika  SAX parser menelusuri dokumen XML. Method-methodnya adalah sebagai berikut :
  • setDocumentLocator()
  • startDocument()
  • endDocument()
  • startElement()
  • endElement()
  • characters()

Interface ErrorHandler
Interface ini mendefinisikan beragam method callback untuk menangani berbagai error yang mungkin terjadi selama penelusuran. Sesuai jenis kesalahan yang terjadi, interface ini memiliki method :
  1. warning()
  2. error()
  3. fatalError()

Interface DTDHandler
Interface ini mendefinisikan method untuk menangani event yang terjadi ketika suatu parser memproses DTD dokumen XML. Method yang disediakan : 
  • notationDecl()
  •  unparsedEntityDecl()