libxml++ -- a C++ wrapper for the libxml2 XML parser library. (original) (raw)
Introduction
libxml++ is a C++ wrapper for the libxml2 XML parser library.
License
Libxml++ is released under the LGPL version 2 or above.
ABI Versions
There are several ABI (Application Binary Interface) versions of libxml++. They can be installed in parallel.
- libxml++-2.6: Old ABI, not recommended for new applications. Uses Glib::ustring from the glibmm-2.4 ABI.
- libxml++-3.0: Uses Glib::ustring from the glibmm-2.4 ABI, therefore has methods that handle UTF-8 characters rather than raw bytes.
- libxml++-4.0: Uses Glib::ustring from the newer glibmm-2.68 ABI, therefore has methods that handle UTF-8 characters rather than raw bytes.
- libxml++-5.0: Does not depend on glibmm, is not as good at handling UTF-8 strings, has fewer dependencies.
The APIs of libxml++-3.0, libxml++-4.0 and libxml++-5.0 are very similar. The only significant difference is that libxml++-5.0 uses xmlpp::ustring instead of Glib::ustring.
In a new application, choose between libxml++-4.0 with UTF-8 support and libxml++-5.0 with fewer dependencies. Choose libxml++-3.0 only if you want UTF-8 support but don’t have access to the newer glibmm-2.68 ABI (glibmm version 2.68.0 or higher).
Download
You can download libxml++ from GitHub releases(since 2.42.0, 3.2.0, 4.0.0 and 5.0.0) or the GNOME download site(until 2.42.3, 3.2.5, 4.2.0 and 5.4.0).
Required Libraries
- libxml2
- libxml++-2.6 and libxml++-3.0: glibmm-2.4
- libxml++-4.0: glibmm-2.68
Documentation
libxml++-5.0
The short manual gives an overview of the libxml++ API. You can also browse online the reference documentation.
Other ABI Versions
The documentation of libxml++-2.6, libxml++-3.0 and libxml++-4.0 is not available online. You can download a tarball fromGitHub releasesor the GNOME download site, extract it, and view the documentation at untracked/docs/.
Development
Libxml++ uses the GitHub git repository.
Bugs and patches are tracked in GitHub’s issue trackerand pull request tracker.
Discussion
You can discuss libxml++ questions on GNOME’s Discourseinstance, under the Platform/Language bindingscategory with a cplusplus tag.
There is an old mailing list, which is now closed for new posts. There is an archive of messages here. Please do not email the developers directly.