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.

README

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 http://vslavik.github.io/xmlwrapp/

Packages tarballs can be downloaded from the same location or from
https://github.com/vslavik/xmlwrapp/releases

If you need help or want to discuss xmlwrapp, feel free to join the discussion
group hosted at http://groups.google.com/group/xmlwrapp or email directly to
xmlwrapp@googlegroups.com.


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 http://xmlsoft.org.

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:

  ./configure
  make
  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
http://www.zlatkovic.com/libxml.en.html.


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.