Boost logo

Boost :

Subject: Re: [boost] libzeep
From: Maarten L. Hekkelman (m.hekkelman_at_[hidden])
Date: 2010-04-13 09:09:05

Op 13-04-10 14:47, Sohail Somani schreef:

> How is it compared to pugixml? pugixml is fast and has a XPath
> implementation but it is not as full an implementation as I'd like. It's
> also pretty easy to hack on.

I didn't know this library, but apparently it is a library that focuses
on speed, not on a correct implementation of the standard. The XML
standard is pretty strict, some think it is too strict. But when pugixml
claims it is 'error-ignorant' I know I won't use it. Besides, there's no
support for UTF-16 in pugixml and my guess is it won't get far when it
comes to testing the W3C test suite.

> What kind of W3C-based testing have you done for the XPath
> implementation? Are there even any tests?

In the tests subdirectory of libzeep you can find a makefile you can use
to create two test applications. One for the W3C test suite and one for
testing the XPath's.

> In either case, how difficult
> is it to add missing functions? I see a hard-coded list. Would be extra
> awesome if I could add to this list at run-time but the need for that is
> very low. However, it could make some stuff easier. For example, there
> is no "max" XPath function in your code and I'd like to add one.

I've implemented the core XPath 1.0 function library. Other XPath
functions are not supported, for now. But adding them is quite easy I
think, it just involves exposing a bit more of the internals of the
XPath implementation and come up with a way to augment this.

> Will you also add a SOAP client? Pretty please :)

A SOAP client means you need a WSDL parser and a code generator. I
always write my SOAP clients in Perl and Java, there's only one I ever
wrote in C++. Writing a SOAP client is a bit more tricky than writing a
server, you suddenly have to support all variants like RPC/encoded apart
from only document/literal. But it is something I perhaps should have a
look at.


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