:herb: Fast streaming XML parser written in C99 with >90% test coverage; moved from SourceForge to GitHub
Expat is a C99 library for parsing XML 1.0 documents, originally created by James Clark in 1997, that uses a stream-oriented approach where applications register handlers that are invoked as the parser encounters document structures. The project is built in C99 and supports compilation with GCC (4.5+), LLVM Clang (3.5+), and Microsoft Visual Studio (2022+), with build systems based on both GNU Autotools and CMake. The City of Munich has committed to funding maintenance of libexpat starting in August 2026 as part of their Open Source Sabbatical initiative.