Boost logo

Boost :

Subject: Re: [boost] [GSOC] XML library of Boost
From: Stefan Seefeld (stefan_at_[hidden])
Date: 2013-05-01 15:46:40

On 2013-05-01 15:25, ¼§ Ã÷³¬ wrote:
> I agree that it isn't clever to "reinvent the wheels". The libxml2 and expat are both great xml libraries.
> It will be much easier to offer API of the existing libraries than to implement a new xml library.
> But what if the users don't have libxml2 on their computer?

Then (s)he has to install the prerequisite libraries, as is custom with
all software that is being used today.

> Just tell the users to download libxml2 before they want to use boost::xml? Or include the libxml2 in release version?
> I think neither of them are friendly to users.

I agree that usability and user-friendliness should be a concern.
However, most of these aspects can be taken care of by proper packaging
or package management. For example, on Linux you would typically use
package managers such as rpm or deb to manage packages, and managing
such dependencies as all handled very conveniently.

For avoidance of doubt: I'm not suggesting that libxml2 has to be the
backend-of-choice. In fact, I would argue that a much better curse of
action is to add more backends, which has a couple of benefits:

* supporting multiple backends helps to make sure the API is itself not
tied to any particular backend by accident.

* it gives more choices to package managers who build packages for a
variety of platforms, and who then have to choose how to configure the
library, and specifically, what backend to pick.

As a good reference, I suggest you have a look at arabica
(, which has already done
that. Perhaps some of it can even be reused and incorporated into such a
boost.xml library.

> If the 3rd-party libraries are allowed in boost, I'll be glad to work in accordance with your advice.
> I hope to hear more voice.

We have had this discussion a couple of times in the past on this list.
I doubt there is any fundamental disagreement on this approach. Other
boost libraries use similar approaches if they cover a sufficiently
complex domain. For example, consider boost.mpi or boost.python.

>> I would be happy to mentor this.
> Thank you very much! I'm glad to work with you if I'm accepted.

Great, then let's get started on some project details (we still have two
days ! :-) )

We still need to establish clear (achievable) goals, as well as a
realistic schedule. Feel free to follow up offlist if you want to
discuss any of this.


      ...ich hab' noch einen Koffer in Berlin...

Boost list run by bdawes at, gregod at, cpdaniel at, john at