KM-F reports that at some locations in the UK, she has come across machines running IE8 or below (at least, that's what I'm assuming based on the described symptoms). I'm not sure whether that's the only browser available on those machines -- surely not -- but IE8 is the newest version of IE available for XP.
IE8 cannot handle application/xhtml+xml; it offers to download and save the file rather than display it. Our redesign site is pure XHTML5 and is served with the correct mime type. I've therefore created a trap in the controller.xql like this:
if (matches(request:get-header('user-agent'), 'MSIE\s+[1-8]\.')) then <dispatch xmlns="http://exist.sourceforge.net/NS/exist"> <forward url="obsolete_browser.xql"> </forward> </dispatch>
This has to come before everything else, of course. The obsolete_browser.xql page is just a simple plain HTML page that suggests updating IE if possible, or installing another browser (links provided).
Luckily I still have an XP VM which I was able to use to test this, although it took lots of updating because it hadn't been run for ages. In the process I also created a little library for showing the HTTP headers eXist sees, for help in debugging.
One day this problem will go away. Surely.