xsl www w3schools template example ejemplo create xslt client-side

www - xslt introduction



XSLT del lado del cliente (5)

El archivo XSLT es otro objeto que debe descargarse y el navegador solo obtendrá 2 o 3 elementos en paralelo. Mi experiencia es que el rendimiento general (descarga y generación) es notoriamente más lento.

Además, dependiendo de la complejidad y la redundancia de los datos, es posible que esté descargando mucho más de lo que realmente necesita, es decir. si el HTML ya se ha procesado

Convertí todo mi sitio a XML / XSL y me gustaría conocer todos los problemas actuales al realizar XSLT del lado del cliente.

Estos son los que ya conozco (de la experiencia de primera mano):

  • Archivos XSL entre dominios (esto es un problema de seguridad y no un navegador cruzado)
  • disable-output-escaping (esto no funciona en FF ... lo consideran un problema de seguridad)

También en cuanto a la compatibilidad con el navegador, esto es todo lo que sé de:

  • Opera 9+
  • FF 1.0+
  • SF 2.0 + (puedo estar equivocado en esto)
  • Cromo
  • IE 6.0 +

Cualquier otro sería útil también :)

Editar:

En cuanto al segundo escollo, hay una solución decente que le permite pasar xhtml a su xsl. Funciona al convertir realmente y asegurarse de que su XHTML sea XML válido y colocarlo en su XML como XML. Luego, en su XSL copia el xml;) y lo muestra como XHTML.


En el frente del rendimiento ... considere que la mayoría de los clientes en estos días tienen 2 CPU y 2 GB de RAM cada uno, y que la mayoría de los servidores no ... Tienen dos CPU''s + 2 GB por cliente. Por lo tanto, es lógico que la descarga de las transformaciones XSLT debería mejorar la escalabilidad, y el almacenamiento en caché de CSS + XSLT + JS debería reducir el tráfico general.

Una vez dicho esto, he intentado usar XSLT para producir XHTML que contenía SVG en el pasado, y tuve un fracaso épico. La página más grande era simplemente demasiado grande (más de 3,000 entradas en un índice) e IE utiliza un DOM para hacer la transformación XSLT, lo que hace que comience a destrozar. Las mismas transformaciones hechas en xerces-j (en el servidor, en el mismo cuadro dev) fueron aproximadamente 1000 veces más rápidas.

Ya es hora de que los monos navegadores se hayan metido en el programa ;-)

Una discusión interesante. Gracias por levantarlo.

Aclamaciones. Keith.


Encontré pasar parámetros a xsltfiles difíciles de mantener capaz de cruzar las fronteras. Ahora soporto FF e IE pero Chrome se cayó por eso ...


He trabajado aproximadamente 1 año en un proyecto donde usamos xslt + xml-> html (aunque solo en el lado del servidor)

El mayor inconveniente que encontré: no hay buenas herramientas para la generación xslt que se inclinen por el desarrollo web. sin vista previa de html. sin validación el xslt resultante era un desastre total que nadie podía entender. eso no fue tanto la falla de los diseñadores xslt, sino más bien los resultados del modelo de procesamiento xslt.

la estratificación entre xslt / xml / urls se vuelve más complicada de lo que debería ser. no hay forma de que puedas programar orientado a componentes.

a menudo se necesitaban múltiples archivos xslt, esto daría lugar a muchas descargas en el lado del cliente. de lo contrario, daría lugar a una duplicación masiva de código a lo largo del proyecto.

Vería esto como una forma de optimización temprana. Deberías comenzar utilizando un marco web "normal" como wicket, jsf, tapicería, gwt, etc., más adelante, si resulta que el rendimiento de los servidores está ligado a la CPU, podrías optar por reescribir las partes más usadas de la aplicación de esa manera.

Oye, tiene beneficios reales si necesita proporcionar una interfaz xml api + a html.


  • Velocidad: el navegador necesita aplicar la transformación XSLT antes de representar el HTML, por lo que el usuario tendrá que esperar más para ver la página. Los motores XSLT utilizados por los navegadores pueden no ser de primera categoría. En Mac OS X, el navegador puede congelarse mientras el XML se transforma y causa el cursor de "bola de playa girando", por lo que el usuario puede golpear la pantalla y dañarse a sí mismo.

  • Accesibilidad: ¿qué pasa con los navegadores que no están en ese conjunto, como los lectores de pantalla? ¿Esos usuarios te importan?