Por último necesitas el (x)HTML para ver el documento.
Cuando sea Internet Explorer va a usar la transformación interna de IE 5, 6, 7.
Cuando sea FireFox va a utilizar un IFrame para mostar el XML y transformarlo con el XSLT.
Archivo : index.html
Código:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>HackmanGT XML / XSLT Example</title>
</head>
<xml id="xmlData" src="data.xml" />
<xml id="xmlStyle" src="data.xsl" />
<body>
<div id="xslTarget"></div>
</body>
<script type="text/javascript" language="javascript">
if (document.all) {
// Debería ser un mejor método para detectar el navegador.
// Internet Explorer 7.0.5730.13
xslTarget.innerHTML = xmlData.transformNode(xmlStyle.XMLDocument);
} else {
// FireFox 2.0.0.12
var xslTargetObject = document.getElementById("xslTarget");
xslTargetObject.innerHTML = "<iframe id=\"xslFrame\" src=\"data.xml\"></iframe>";
}
</script>
</html>
Yo creo que es una solución más limpia y más eficiente, usando las herramientas que te proveen los 2 navegadores.
Lo he probado en Internet Explorer 6 y 7. FireFox 2 (FireFox 1.5 y Iceweasel en Linux) y funciona "bien". Queda a tu criterio si deseas esta solución o seguir intentando con JavaScript y XMLDOM.
Saludos,