There's some releasenotes or FAQ entry or something I saw on mozilla.org as well, that mentions the output of the XML is treated as strict XHTML. Whereas IE does recursive HTML parsing.. therein lie the differences.

So something like &amp is taken literally by mozilla, instead of recursively evaluating it to obtain & which then becomes simply &. But for me, that's an easy fix.. just delete all the silly &amp lines completely.

Then we're left with the harder issues..