Skip to content

Commit bbc31d7

Browse files
committed
docs/index.md: Describe the different libxml++ ABIs
The changes are automatically published at libxmlplusplus.github.io/libxmlplusplus. See issue #20
1 parent 17ea17d commit bbc31d7

File tree

1 file changed

+15
-0
lines changed

1 file changed

+15
-0
lines changed

docs/index.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,28 @@ libxml++ is a C++ wrapper for the [libxml](http://www.xmlsoft.org) XML parser li
1212

1313
Libxml++ is released under the [LGPL](http://www.gnu.org/licenses/lgpl.html#TOC1) version 2 or above
1414

15+
## ABI Versions
16+
17+
There are several ABI (Application Binary Interface) versions of libxml++.
18+
They can be installed in parallel.
19+
20+
libxml++-2.6: Old ABI, not recommended for new applications. Uses Glib::ustring from the glibmm-2.4 ABI.
21+
22+
libxml++-3.0: Uses Glib::ustring from the glibmm-2.4 ABI, therefore has methods that handle UTF-8 characters rather than raw bytes.
23+
24+
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.
25+
26+
libxml++-5.0: Does not depend on glibmm, is not as good at handling UTF-8 strings, but has fewer dependencies.
27+
1528
## Download
1629

1730
You can download libxml++ from [here](http://ftp.gnome.org/pub/GNOME/sources/libxml++/).
1831

1932
## Required Libraries
2033

2134
* [libxml2](http://www.xmlsoft.org/)
35+
* libxml++-2.6 and libxml++-3.0: [glibmm-2.4](https://developer.gnome.org/glibmm/2.64/)
36+
* libxml++-4.0: [glibmm-2.68](https://developer.gnome.org/glibmm/2.68/)
2237

2338
## Documentation
2439

0 commit comments

Comments
 (0)