tengo el siguiente código XML:IE9 y Chrome No volviendo XML con XSL si XML es local y XSL es el servidor remoto
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="http://www.test.com/AuditTrail.xsl"?>
y XSL:
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<html>
<head><title>Test</title></head>
</html>
</xsl:stylesheet>
Esto funciona bien en IE8, pero no en IE9 o Chrome. He leído que IE9 parece prohibir la carga de XSL desde un servidor remoto si el archivo fuente XML está en la máquina local. ¿Hay alguna forma de que IE9 y Chrome apliquen un archivo XSL remoto a un archivo XML local sin interferir con la configuración de seguridad de los navegadores? Tenemos una aplicación de escritorio que genera informes XML y los muestra en un navegador, transformado con hojas de estilo alojadas en un servidor remoto.
@Tom tal vez cambie a una solución de javascript como p. Ej. jquery transformar Esto debería funcionar sin reescribir el XSLT (pero no lo probó) [Ejemplo aquí] (http://stackoverflow.com/questions/2042178/chrome-and-safari-xslt-using-javascript/2042441#2042441) – therealmarv
Mi xml y xslt tiene un elemento raíz y una plantilla, simplemente lo dejé porque solo quería mostrar el encabezado, debería haber incluido todo. Sin embargo, su respuesta confirma que esto se debe a restricciones de seguridad (web y local), por lo que no hay forma de hacerlo funcionar sin cambiar el xml y la forma en que se transforma. – TJF
Existen varias soluciones (malas) pero creo que lo mejor es que cambie la forma en que su programa transforma este XML, no confíe en el navegador XSLT, use su propia biblioteca XSLT si desea mostrar informes. Aquí hay algunas soluciones malas: - Reduzca su IE a IE8. - Pruébalo con Firefox. - Intenta ejecutar Chrome con este [Chromium Bug Comment] (http://code.google.com/p/chromium/issues/detail?id=70088#c12) – therealmarv