$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
Subject: [boost] libzeep
From: Maarten L. Hekkelman (m.hekkelman_at_[hidden])
Date: 2010-04-13 08:04:38
As I announced earlier, I've released a library that can be used to 
create SOAP servers. Since this code relies heavily on XML, I've 
implemented a full XML parser and XPath implementation as well.
I've read a bit in the discussion on this forum regarding the 
implementation of XML parsers and I get the feeling some don't fully 
appreciate the amount of work that goes into writing a validating 
parser. There really is more to XML than the characters < and >. :-)
If there's a DOCTYPE, the results of parsing a file can be surprising 
since the DTD can e.g. specify default attribute values.
To test libzeep I'm using the 1808 test files provided by the w3c 
organisation. Of these I only test against 1490 since the others only 
check unicode characters that are allowed since XML version 1.1. Of the 
remaining 1490 only 14 produce dubious output, I'm not really sure if 
these tests are wrong or that my code is incorrect.
Anyway, libzeep performs quite nicely. The code has not yet been 
profiled but I've been able to replace libxml2 in all my projects and 
see hardly any performance degradation and my code looks much better now.
All in all, I think libzeep is quite feature complete, robust and 
performs nicely.
I've released the code and minimal documentation at 
http://www.cmbi.ru.nl/libzeep
Now suppose people here are interested in this library, I'm willing to 
spend some time to upgrade the code to boost quality standards and write 
more documentation. And if the boost community prefers another approach 
I'm willing to provide help based on my recent experience.
I'm looking forward to your feedback.
-maarten