A C++ Module Library offering a full XML library with validating parser, DOM tree, XPaths and serialization
  • C++ 88.6%
  • CMake 11.4%
Find a file
Maarten L. Hekkelman fca6a7863c
Some checks failed
test on FreeBSD / build (Release, c++, freebsd-latest) (push) Successful in -14h18m34s
test on Debian / build (Release, clang++-22, OFF, debian-latest) (push) Successful in 5m19s
test on Debian / build (Release, clang++-22, ON, debian-latest) (push) Successful in 6m51s
test on Debian / build (Release, g++, OFF, debian-latest) (push) Failing after 2m14s
Update changelog, version bump
2026-08-10 11:29:02 +02:00
.forgejo/workflows Fix xpath::lang and xpath::substring functions 2026-07-19 13:58:31 +02:00
.github Update licenses for reuse 2026-06-10 11:07:16 +02:00
cmake Adding a few AI generated tests 2026-07-24 15:24:08 +02:00
docs Fix last URLs 2026-07-29 15:20:55 +02:00
examples Fix copyright date 2026-07-29 15:18:24 +02:00
include/zeem refactored is_detected 2026-08-09 11:21:58 +02:00
LICENSES Update licenses for reuse 2026-06-10 11:07:16 +02:00
src Fix memory leak during exception handling 2026-08-10 09:01:00 +02:00
test Added fuzz test 2026-08-10 11:12:08 +02:00
.clang-format Update licenses for reuse 2026-06-10 11:07:16 +02:00
.clang-tidy Update licenses for reuse 2026-06-10 11:07:16 +02:00
.gitignore Update licenses for reuse 2026-06-10 11:07:16 +02:00
CHANGELOG.md Update changelog, version bump 2026-08-10 11:29:02 +02:00
CMakeLists.txt Update changelog, version bump 2026-08-10 11:29:02 +02:00
LICENSE update licenses 2026-02-16 21:48:44 +01:00
README.md Fix last URLs 2026-07-29 15:20:55 +02:00

zeem

This library is a C++ library implementing a validating XML parser, a DOM tree, XPaths and serialization. It can be built as either a Module library or a traditional library.

Full documentation is available here

NOTE This library was initially named mxml, but that name was already taken.

Building

In order to build this software you need very recent versions of CMake (at least version 3.28) and compilers, most likely at least version 22 of CLang or version 15 of gcc.

git clone https://forge.hekkelman.net/maarten/zeem.git
cd zeem
cmake -B build -G Ninja
cmake --build build
cmake --install build

If you want to build the module library, you will need at least gcc 15 or a recent clang. And then you will have to add a parameter to cmake, like this:

git clone https://forge.hekkelman.net/maarten/zeem.git
cd zeem
cmake -B build -G Ninja -DZEEM_BUILD_CXX_MODULE=ON
cmake --build build
cmake --install build