A plugin of mine outputs content in XML format. WP Super Cache isn't caching these pages because they don't contain the HTML/RSS elements which are tested for.
WP Super Cache's wp_cache_get_ob() function tests for the existence of closing html, rss, feed and urlset tags to determine whether Super Cache should cache the page. My XML pages have none of these, so Super Cache doesn't cache them. The pages do have a proper XML header which starts with <?xml. It would be great if Super Cache could also check for the existence of this tag to determine if the page should be cached.
W3 Total Cache happily caches these pages as it checks for <?xml among other things.
Here's the required change to the regex in wp_cache_get_ob():
/(<\/html>|<\/rss>|<\/feed>|<\/urlset|<\?xml)/i