Lightweight C++ XML parsing library
C++ M4 C Other
Latest commit 753705e Jul 25, 2016 @vadz vadz committed with Fix crashes in some of xslt::stylesheet::apply() overloads
If the provided on_error handler doesn't throw an exception (e.g. if it's an
xml::error_messages object), don't crash in apply() overloads returning the
result of the transformation.

Just check for apply_stylesheet() success there too, just as it was already
done in the overloads using the "result" document object.

See #31.


0. Introduction

xmlwrapp is a modern style C++ library for working with XML data, built atop
the venerable libxml2 C library.

Additional resources, bug reports, latest sources etc. can be found on the
project page at

Packages tarballs can be downloaded from the same location or from

If you need help or want to discuss xmlwrapp, feel free to join the discussion
group hosted at or email directly to

1. Requirements

In order to build xmlwrapp, you need libxml2 version 2.4.28 or newer. When
building with XSLT support, libxslt 1.1.6 or newer is required. Both libraries
are available from

Header-only Boost Pool library is also required for building xmlwrapp.

To run tests, Boost.Iostreams and Boost.Test libraries are also needed.

2. Building on Unix

On Unix, the usual Autotools-based build system is used. Building xmlwrapp is
usually as simple as running the following three commands:

  make install

See the output of `./configure --help` for additional settings and options.

Use `--disable-tests` option to skip running tests and avoid the need for
installing Boost.Iostreams and Test libraries.

3. Building on Windows

At this time, only building with Visual C++ compiler is supported. The required
project files are located in platform/Win32 directory. You will need libxml
and libxslt libraries built for Windows, e.g. the binaries from

4. Using xmlwrapp

On Unix, you should use pkg-config to get compiler flags for xmlwrapp or
xsltwrapp libraries:

   c++ -c `pkg-config --cflags xmlwrapp` ...
   c++ -o ... `pkg-config --libs xmlwrapp`

On Windows, you need to link against xmlwrapp libraries and add the include/
directory to compiler's headers search path.