
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. -maarten