>If I display the xml file directly into the browser (IE), I get the error too.
OK, so you've got a bad XML file. No point running XSLT on it. You have to work out where it came from and how it came to be corrupt. Most likely it's simply using cp1252 encoding and doesn't say so in the header.
Michael Kay
http://www.saxonica.com/
Author, XSLT Programmer's Reference and XPath 2.0 Programmer's Reference