While trying to connect kolab calendar plugin to a dabvical server, I could not get it working. I turned on dav_debug, and I realized that the problem is that davical outputs pretty formatted xml, with newlines and whitespaces, but libkolab caldav client does not parse it correctly; since it uses loadXML with no options, newlines and whitespaces result in:
- parsed href urls having spaces and newlines in it, making the plugin fail to call the right urls
- any element's childNodes being filled with empty "#text" nodes (see https://stackoverflow.com/a/22545712/3855992)
The fix is simple and can be found in the stackoverflow answer above, even if the method indicated there is deprecated so the correct way is doing as follows:
```
if (!$doc->loadXML($xml, LIBXML_NOBLANKS)) {
```
and getting rid of the follwing line
```
$doc->formatOutput = true;
```
in plugins/libkolab/lib/kolab_dav_client.php
With that patch, I got it working.