2010-08-06 31 views

Respuesta

2

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?

+0

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

1

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?

5

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.

+0

¿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

3

También puede cambiar esta configuración en Firefox:

  1. about.config
  2. Aceptar advertencia de seguridad (y tener cuidado :-))
  3. Busque security.fileuri.strict_origin_policy
  4. Conjunto a falso
+1

Pero tenga en cuenta que esta solución solo funcionará en su propio navegador. – Ren

2

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).

0

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.

Cuestiones relacionadas