Folks, I've just committed the changes to make sync-engine libwbxml-free. I have tested this with the Opensync 0.3x stuff and it works well for contacts, tasks and events. At the moment I can't test with the Opensync 0.2x stuff as I don't have OS 0.2x installed on this box. Therefore it would be helpful if anyone with a bleeding-edge SynCE install and Opensync 0.2x who can sync, would test this and report problems.
I've left the debug spew in to help with this process - it will be easy to remove later. The only problems you are likely to find is related to the fact that our implementation is now fussy about the correct namespaces being assigned to the libxml2 node structures - and sometimes this does not seem to work intuitively across the XSLT transform interface when extension functions create children. This will manifest itself as an exception being thrown when the wbxml code can't find the tag in the code page at the point of conversion. If you get one of these they are quite easy to fix so please just send me the dump from sync-engine (only the portion with the exception and, importantly, the XML document immediately before it) and I will sort it quickly. Another point is that attribute support is badly broken in our wbxml implmentation. This does not matter for sync-engine as Airsync XML does not use attributes - but we should really sort this at some point for completeness and in case MS change something at a later date and suddenly decide to start using them! Have fun. John. Excerpt from CHANGELOG: ---------------------- >From this point, sync-engine no longer relies on libwbxml and pywbxml. An internal wbxml converter has been implemented in SyncEngine/wbxml (thanks to Jonny Lamb for the low level wbxml stuff). The user-facing API is unchanged. Note that this has been tested successfully with the OS30 formats, but has NOT YET BEEN FULLY TESTED with Opensync 0.2x. The only problem that may be present here is incorrect namespace assignment within the converter code. Libwbxml parses it out from the strings whereas the internal implementation looks out for namespace assignments directly to the nodes in the libxml2 structures. The implementation of this uncovered a couple of subtle errors in the general XML handling within sync-engine. These have been fixed, and the entire pathway will be checked when airsync.py is cleaned up shortly. Attribute processing is badly broken in the wbxml implementation - this is not a problem for sync-engine as AirSync does not use attributes in its XML code. However this should be fixed up (can be as a low priority job) at some point for completeness and in case Microsoft go and change things at a later date. ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ _______________________________________________ SynCE-Devel mailing list SynCE-Devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/synce-devel