5895878c76
libxml++ is a C++ wrapper for the libxml XML parser library. It has SAX and DOM-like APIs, but does not attempt to conform exactly to the DOM specifications because they are not aimed at C++. Its API is much simpler than the underlying libxml C API. This package follows the libxml++-5.0 API. Changes compared to libxml++: 5.0.1 (stable): Build: * libxml++config.h.*: Don't dllimport on MinGW (Chun-wei Fan) Issue gtkmm#90 (Lukas K.) * Meson build: Make it possible to use libxml++ as a subproject (Kjell Ahlstedt) * Meson build: No implicit_include_directories (Kjell Ahlstedt) * MSVC build: Export classes selectively (Chun-wei Fan) Documentation: * docs/index.md: Describe the different libxml++ ABIs (Kjell Ahlstedt) Issue #20 (Tom Schoonjans) 5.0.0 (stable): This is the first stable release in the libxml++-5.0 ABI series. It is parallel-installable with the libxml++-2.6, libxml++-3.0 and libxml++-4.0 ABIs. The tarball for 5.0.0 has been created with 'meson dist'. If you build with Autotools from the tarball, please read the relevant part of the README file. Build: * Add NMake Makefiles Remove Visual Studio 2010 projects (Chun-wei Fan) Pull request #10 * Use __declspec(dllexport) when building on Visual Studio Stop using gendef.exe (Chun-wei Fan) Pull request #15 * Add support for building with Meson (Kjell Ahlstedt, Chun-wei Fan) Pull request #16, #17, issue #19 4.9.1 (unstable): * Change ABI name from libxml++-4.0 to libxml++-5.0 There is also a libxml++-4-0 branch for the libxml++-4.0 ABI, which still uses glibmm-2.64. And there is a libxml++-3-0 branch for the libxml++-3.0 ABI, which still uses glibmm-2.4. * Build: Remove dependency on glibmm and don't use Glib::ustring For now, the API uses an xmlpp::ustring alias of std::string where it previously used Glib::ustring. 3.9.1 (unstable): * Change ABI name to libxml++-4.0 There is also a libxml++-3-2 branch for the libxml++-3.0 ABI, which still uses glibmm-2.4. * Build: - Use glibmm-2.64 instead of glibmm-2.4. - Require C++17. * Parser: Make some methods const 3.2.0 (stable): * Document, DomParser: Improve XInclude processing: Document: Add process_xinclude() overload that takes a fixup_base_uris parameter. DomParser: Add set/get_xinclude_options() and add optional XInclude processing to the parse methods. (Kjell Ahlstedt) Bug 781566 * Add explicit keyword to some single-parameter constructors. (Murray Cumming) * tests: Don't require C++17 (Kjell Ahlstedt) * Build: Fix srcdir != buildir build. (Kjell Ahlstedt, Murray Cumming) 3.0.1 (stable): * Element::remove_attribute(): Delete the C++ wrapper (Harald Schmalzl, Kjell Ahlstedt) Bug #768404. 3.0.0 (stable): * This is the first stable release of libxml++-3.0. ABI and API are incompatible with libxml++-2.6. These two series of libxml++ can be installed in parallel. Applications that want to upgrade from libxml++-2.6 to libxml++-3.0 must change their pkg-config check to libxml++-3.0. (Kjell Ahlstedt) Bug #754673. * This release is identical to the unstable 2.91.3, except for the so name, which has now been bumped. (Kjell Ahlstedt) Bug #760574 (Dominique Leuenberger) 2.91.3 (unstable): * Element: Remove a redundant nullptr check (Renu Tyagi) Bug #757515 * Use scoped enums (enum class) instead of unscoped enums * Document: Test for nullptr in a constructor * DomParser: Make operator bool() explicit (Kjell Ahlstedt) * The ABI and API are not identical to libxml++ 2.91.2. There may be more changes in ABI and/or API before the first stable libxml++-3.0 release. 2.91.2 (unstable): * Remove the preprocessor constant LIBXMLCPP_EXCEPTIONS_ENABLED. It was always 1. * Add a config-time test for support of std::exception_ptr. Don't try to use std::exception_ptr on a system where it does not exist. This includes re-implementing the wrapped_exception class and the raise() and clone() methods in xmlpp::exception and its subclasses. (Daniel Trebbien, Kjell Ahlstedt) Bug #757042 (Michael Biebl) * The ABI is not identical to that of libxml++ 2.91.1. There may be more changes in ABI and/or API before the first stable libxml++-3.0 release. 2.91.1 (unstable): * Renamed ABI from libxml++-2.6 to libxml++-3.0. This requires applications to change their pkg-config check to libxml++-3.0 when they wish to use libxml++ 2.9x or 3.x instead of libxml++ 2.x. (Kjell Ahlstedt) Bug #754673. There may be more changes in ABI and/or API before the first stable libxml++-3.0 release. * Node: Add const_NodeList and use it in a const version of get_children(). Add const_NodeSet and use it in a const version of find(). Replace xmlpp::NodeSet by xmlpp::Node::NodeSet. Element: Add const_Attribute_list and use it in a const version of get_attributes(). (Kjell Ahlstedt) Bug #338907 (Marcos Mayorga) * Document: Add a non-const version of get_root_node(). Let the const version return a const pointer. (Knut Aksel Røysland) Bug #632522 * Element: Add a non-const version of get_attribute(). Let the const version return a const pointer. (Knut Aksel Røysland) Bug #632524 * Replace the deprecated std::auto_ptr by std::unique_ptr (Kjell Ahlstedt) Bug #753123 * DomParser: The default behaviour is to throw both parse errors and validity errors in an exception instead of printing some messages on stderr. * Parser: Some protected data has become private. * Several classes: Some virtual methods have become non-virtual, and some non-virtual methods have become virtual. * Remove class xmlpp::wrapped_exception and the deprecated classes Schema and SchemaValidator. * xmlpp::exception and its subclasses: Remove Raise() and Clone(). * SaxParser: Start each parsing with a new Document for entity resolution. * Move all Node::add_child*() methods to Element and rename them to add_child_element*(). * Attribute: Move set_value() to AttributeNode. * Use std::string instead of Glib::ustring for filenames. * Node: Replace remove_child() by remove_node(). * Move some code from DtdValidator to Dtd. * Element: Rename set/get_child_text() to set/get_first_child_text().
6 lines
294 B
Text
6 lines
294 B
Text
libxml++ is a C++ wrapper for the libxml XML parser library. It has SAX and
|
|
DOM-like APIs, but does not attempt to conform exactly to the DOM
|
|
specifications because they are not aimed at C++. Its API is much simpler
|
|
than the underlying libxml C API.
|
|
|
|
This package follows the libxml++-5.0 API.
|