¿Cuáles son los inconvenientes de envío de XML para los navegadores y dejar que ellos se aplican XSLT?

softwareengineering.stackexchange https://softwareengineering.stackexchange.com/questions/30255

  •  30-10-2019
  •  | 
  •  

Pregunta

Contexto

Trabajo como desarrollador freelance, he hecho los sitios web basados completamente en XSLT.En otras palabras, en cada solicitud, se genera un archivo XML, que contiene todo lo que necesitas saber sobre el contenido de la página:el nombre del usuario que ha iniciado sesión, el menú de la parte superior de las entradas, si este menú es dinámico/configurable, el texto a mostrar en un área específica de la página, etc.A continuación, XSL proceso (escondites, etc.) a HTML/XHTML de la página para enviar al navegador.

Tiene un buen punto para facilitar la creación de pequeña escala de los sitios web, especialmente con PHP.Es una especie de motor de plantilla, pero que yo prefiero a otros de la plantilla de motores, ya que es mucho más potente que la mayoría de la plantilla de los motores, y porque la conozco mejor y me gusta.También es posible, cuando es necesario, para dar un acceso a XML sin procesar datos sobre la demanda de un acceso automatizado, sin la necesidad de crear diferentes APIs.

Por supuesto, va a fallar por completo en cualquier medio, escala o gran escala sitio web, ya que, incluso con buenas técnicas de almacenamiento en caché, XSL todavía se degrada en general el rendimiento del sitio web y requiere más recursos de la CPU serverside.

Pregunta

Los navegadores modernos tienen la capacidad de tomar un archivo XML y transformarla con un asociado de archivo XSL declarado en XML como <?xml-stylesheet href="demo.xslt" type="text/xsl"?>.Firefox 3 puede hacerlo.Internet Explorer 8 también pueden hacerlo.

Esto significa que es posible migrar XSL procesamiento del servidor para el lado del cliente para el 50% de los usuarios (de acuerdo a las estadísticas del navegador en varios sitios de internet donde yo quiera implementar este).Esto significa que los 50% de los usuarios que sólo recibirá el archivo XML en cada solicitud, lo que reduce su servidor y el ancho de banda (archivo XML ser mucho más corta que su procesado HTML analógico), y la reducción de la CPU del servidor de uso.

¿Cuáles son los inconvenientes de esta técnica?

Pensé en varias de ellas, pero no se aplica en esta situación:

  • Difícil aplicación y la necesidad de elegir, basado en la petición del navegador, cuando a enviar XML sin procesar, y cuando a transformar en HTML en su lugar.Obviamente, el sistema no va a ser mucho más difícil que la actual.El único cambio a realizar es agregar archivo XSL enlace a todos los XML, y para agregar un navegador de verificación.
  • Más de IO y uso de ancho de banda, ya que el archivo XSLT serán descargadas por los navegadores, en lugar de ser almacenados por el servidor.Yo no creo que vaya a ser un problema, ya que el archivo XSLT se almacena en caché de los navegadores (como imágenes, CSS o JavaScript, los archivos se almacenan en caché en realidad).
  • Posiblemente algunos problemas en el lado del cliente, como tal vez problemas al guardar una página en algunos navegadores.
  • Dificultad para depurar el código:es imposible obtener un código HTML que el navegador está usando, ya que la única muestra de la fuente es el XML descargados.Por otro lado, rara vez de ir a buscar en el código HTML del lado del cliente, y en la mayoría de los casos, no se puede utilizar directamente (el espacio en blanco de ser eliminado).

No hay solución correcta

Licenciado bajo: CC-BY-SA con atribución
scroll top