Estoy tratando de cargar archivos XML locales con una hoja de estilos XSL remota. IE parece manejar esto muy bien, pero no Firefox. ¿Hay una solución para esto?Firefox y hojas de estilos XSL remotas
Respuesta
Algunas cosas a comprobar:
Compruebe que está utilizando el tipo MIME correcto y codificación de caracteres en el lado del servidor. Firefox resolverá la codificación por sí mismo al cargar un archivo local, pero respetará la declaración de mimo de tipo/codificación del servidor cuando lo solicite desde el servidor.
He visto algunas publicaciones (por ejemplo, here) que afirman que Firefox simplemente no admite la carga de plantillas XSL remotas mediante rutas absolutas. Lo dudo, y sospecho que es más probable que el problema del mimo como el anterior les lleve a creer esto, pero valdría la pena preguntarle directamente a Mozilla sobre esto.
Finalmente, ¿ha probado que la hoja de estilos XSL funciona cuando se tira localmente? ¿Y puede confirmar que es realmente XSLT y no una de las extrañas variantes XSL de Microsoft, como WD-XSL?
He tenido problemas con Firefox para realizar la transformación correctamente, pero pude solucionarlo agregando el espacio de nombres XHTML.
Véase lo siguiente para más información: How can I make XSLT work in chrome?
Si no es un problema de sintaxis, creo que es un tema política del mismo origen. Firefox (y also Chrome and IE9) no transforma un XML local con un XSLT remoto por razones de seguridad. Da un error desconocido 805303f4
. Imagine que el XSLT podría producir JavaScript malicioso, incrustado en el código de salida HTML.
Soluciones, si usted es el desarrollador:
- hacer la transformación en el lado del servidor y dar al usuario el enlace a la salida HTML
- descarga localmente (en el fondo) tanto en el XML y la XSLT y luego abra el XML para el usuario
Me di cuenta de que los archivos CSS y de imagen pueden permanecer en el servidor sin restricciones.
¿Y qué? Muchas páginas HTML apuntan a scripts JS en sitios remotos. ¿Por qué una página XML no puede apuntar a un XSL en un sitio remoto? – Archie
También puede cambiar esta configuración en Firefox:
- about.config
- Aceptar advertencia de seguridad (y tener cuidado :-))
- Busque security.fileuri.strict_origin_policy
- Conjunto a falso
Pero tenga en cuenta que esta solución solo funcionará en su propio navegador. – Ren
Sobre la pregunta original: Si obtiene este error con Firefox al abrir su documento XML:
Error loading stylesheet: An unknown error has occurred (805303f4)
y si se hace referencia a la hoja de estilo XSLT en la instrucción de procesamiento xml-stylesheet utilizando una URL absoluta a un lugar distinto del lugar del documento XML, entonces una solución puede ser hacer uso de Firefox CORS mediante la instalación del Force CORS add-on. Por supuesto, esto requiere que el servidor del archivo XSLT sea compatible con CORS también.
Esto hizo la diferencia para mí (para el caso de un archivo XML local que hace referencia a un XSLT remoto que utiliza una URL absoluta).
También tengo la política del mismo origen para el URI de archivos desactivado en Firefox mediante el establecimiento en about: config:
security.fileuri.strict_origin_policy = false
pero que no lo hizo el truco en este caso (e incluso se puede configurar para cierto para este caso).
He resuelto exactamente el mismo problema, parece que de alguna manera estaba relacionado con la "misma política de origen". Los dominios http://someting.org y http://www.someting.org no son lo mismo; mi problema era hacer referencia a la hoja de estilo .xsl con la primera variante (sin la parte "www."). Después de que agregué el "www". parte de mi URL de hoja de estilos .xls, todo funciona bien.
- 1. IDE para hojas de estilos XSLT
- 2. xsl: importación y xsl: incluir en hojas de estilo no funcionan en Google Chrome
- 3. ¿Cómo deshacerse de las hojas de estilos de Drupal CSS?
- 4. ¿Cómo realizo las pruebas automatizadas de hojas de estilos XSLT?
- 5. Hojas de estilos CSS predeterminados de los navegadores
- 6. diferencia entre xsl: param y xsl: variable
- 7. Combinar varias hojas de estilo xslt
- 8. Carga y descarga dinámicamente de las hojas de estilo
- 9. Herramienta para identificar selectores de CSS repetidos en dos hojas de estilos
- 10. XSL xsl: template match = "/"
- 11. ¿Las hojas de estilos de Qt realmente manejan las propiedades _dynamic_?
- 12. comportamientos y estilos
- 13. Parámetros de hoja de estilos XSLT en hojas de estilo importadas
- 14. Firefox ignora esquema y se centran en los elementos de estilos selecciona cuando se utiliza Tab
- 15. ramificación y remotas cabezas en Mercurial
- 16. Git: distinguir entre etiquetas locales y remotas
- 17. XSL
- 18. IE No aplica estilos
- 19. LXML y documento XSL() Función
- 20. Carga de imágenes remotas
- 21. diferencias entre for-each y plantillas en xsl?
- 22. Identificar lobulado y protuberancias de hojas
- 23. Pantalla y hojas de estilo para dispositivos móviles
- 24. xsl: incluir y xsl: param en Google Chrome, con el complemento de transformación jQuery
- 25. IE9 y Chrome No volviendo XML con XSL si XML es local y XSL es el servidor remoto
- 26. Encabezado y pie de página XSL FO
- 27. LessCSS detiene estilos de procesamiento
- 28. Agregar estilos personalizados a CKEditor
- 29. Uso de SimpleXML para cargar URL remotas
- 30. WPF Estilos de error y advertencia separados
Hola, tengo el mismo problema ahora y no estoy seguro de cuál es el tipo de mime correcto para usar en el lado del servidor. En este momento tengo ' 'en el archivo xslt que es remoto. Funciona cuando se tira localmente. –
Pradep