Expat XML parser, a stream oriented parser library written in C99. Excels with files too large to fit RAM. Started by James Clark (technical lead of the working group that developed XML) in 1997

Library untuk membaca file XML, dibuat oleh pembuat XML-nya langsung (James Clark). Berbasis stream processing, jadi dapat membuka file XML yang ukurannya sangat besar (lebih besar dari besar RAM pada komputer).

Stream Processing sunting

Biasanya, file yang akan dibuka akan dicopy seluruhnya ke RAM, agar bisa dibaca dan diproses oleh processor. Namun, untuk file-file yang berukuran sangat besar, file ini tidak bisa dicopy seutuhnya ke dalam RAM. Solusinya adalah "stream processing". Pada stream processing, hanya sebagian file yang dipindahkan ke RAM, terutama bagian file yang saat ini sedang dibaca saja. Sistem akan secara otomatis menghapus data yang telah dibaca dari RAM, kemudian menggantinya dengan data yang akan dibaca. Analoginya seperti nonton video streaming.

Kita tidak perlu mendownload seisi file videonya dulu seutuhnya. Cukup download sebagiannya saja, yaitu bagian video yang saat ini ditonton dan beberapa saat kedepan saja. Jadi, kita bisa langsung menonton video tanpa harus menunggu seisi videonya selesai didownload dulu.

Compiler sunting

Source code expat tersedia di Github (libexpat/libexpat). Beberapa compiler yang dapat digunakan untuk mem-build library ini adalah :

  • GNU GCC >= 4.5
  • LLVM Clang >= 3.5
  • Microsoft Visual Studio >=15.0/2017

Pengguna sunting

  • Overpass API : Seisi database OSM disimpan dalam bentuk file XML. Oleh karena itu, pemrosesan data OSM dalam Overpass API menggunakan expat.