← All repos

libexpat

:herb: Fast streaming XML parser written in C99 with >90% test coverage; moved from SourceForge to GitHub

cc99expatexpat-xml-parserlibrarysiphashstreaming-parserxmlxml-parserxml-parser-libraryxml-parsing
Browse cluster: Operating Systems and Low-Level Systems
5,312commits
138contributors
12languages

Tech stack & purpose

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.

Community & reference links

Languages

C
76.3%
HTML
7.7%
CMake
4.3%
C++
3.6%
M4
3.3%
Shell
2.6%
Makefile
1.1%
Python
0.5%
Inno Setup
0.3%
Batchfile
0.2%
CSS
0.1%
Ruby
0.0%

Contributors (top 30 of 138)