Hi Adam,
You can combine the middlewares, but you must pay attention to their
order of execution, as they work like a stack :
If you do the following :
$spore->enable('+Format::Gzip');
$spore->enable('Format::XML');
Then the Gzip Middleware encode() function will be called first then
the XML encode() function, and the XML decode() function will be
called before the Gzip decode.
In other words, the encode() functions of your middlewares will be
called in the same order of their declaration, and the decode()
functions will be called in the reverse order.
I think just declaring the XML middleware before the Gzip would be
fine in your case.
Hope that helps,
Stéphane