stringtranslate.com

Diazo (software)

Diazo , anteriormente llamado xdv , es una herramienta de creación de temas para sitios web de código abierto y de uso general . Está escrito en Python y genera XSLT . Diazo crea una separación entre las páginas de temas (HTML estático) y las reglas de transformación ( lenguaje específico del dominio de Diazo basado en XML ), lo que permite a los diseñadores web trabajar en plantillas en HTML simple, sin conocimientos de XSLT o códigos especiales relacionados con plantillas.

Diazo crea un sitio temático utilizando reglas definidas por el usuario para combinar contenido básico de un sitio web dinámico junto con un tema HTML estático. El archivo de reglas (convencionalmente llamado rules.xml) tiene directivas que, por ejemplo, pueden reemplazar el contenido de un nodo HTML en el tema con el contenido de uno en el contenido.

Soporte de servidor web

El compilador Diazo genera XSLT , que se puede implementar en cualquier servidor web proxy con un procesador XSLT como Apache (usando mod_transform), Varnish o WSGI .

WSGI también tiene soporte más directo para Diazo: el filtro DiazoMiddleware compilará y almacenará en caché los temas de Diazo sobre la marcha.

Nginx tiene un procesador XSLT, [3] pero, a partir de marzo de 2012, exige que el sitio web sin tema (el contenido) utilice XHTML estricto. Sin embargo, este requisito estricto se puede relajar si se utiliza una versión parcheada de Nginx. [4] [5]

Historia y denominación

Diazo fue originalmente una reimplementación de un software anterior llamado Deliverance. Mientras que Deliverance manejaba la transformación HTML en Python, Diazo generaba XSLT que luego se puede usar para diferir la transformación real a motores XSLT más rápidos.

El cambio de nombre a Diazo (de xdv) se anunció en la conferencia Plone 2010. Una de las principales motivaciones para el cambio de nombre fue reducir la ambigüedad, ya que el nombre XDV era utilizado tanto por collective.xdv(un paquete de temas específico de Plone , ahora llamado plone.app.theming) como por las herramientas XDV independientes (ahora llamadas Diazo). También dv.xdvserverse renombró a DiazoMiddleware.

Diazo se basa en DVNG , una versión prototipo de xdv. Diazo originalmente implementó solo un subconjunto de las características de Deliverance, pero ahora tiene características similares, aunque su lenguaje de configuración no es completamente compatible. Diazo se ha convertido en el estándar de facto para la creación de temas en Plone 4 y está incluido en Plone 4.2 y versiones posteriores.

Directivas

Las directivas básicas de Diazo incluyen: replace(reemplazar un nodo o atributo del tema con el del contenido), before( afterinsertar un nodo antes o después de otro), drop(eliminar un nodo o atributo), strip(eliminar una etiqueta pero no sus nodos secundarios), mergey copy.

Se puede seleccionar un nodo, los hijos de un nodo o un atributo con selectores XPath o selectores CSS3. Los selectores CSS se reemplazan por el selector XPath equivalente durante el paso de preprocesamiento del compilador.

Las características avanzadas incluyen: condiciones basadas en nodos o rutas de contenido, con agrupación y anidamiento; temas condicionales múltiples; modificación del tema o contenido sobre la marcha; directivas XSL en línea; cambios de Doctype; protocolo XInclude.

Referencias

  1. ^ "Diazo: Diazo implementa un lenguaje similar a Deliverance utilizando un motor XSLT puro. Con Diazo, "compila" su tema y conjunto de reglas en un solo paso, luego utiliza una transformación superrápida/simple en cada solicitud posterior. Alternativamente, compila su tema durante el desarrollo, lo registra en el control de versiones y no toca Diazo durante la implementación".
  2. ^ "Plone/Diazo". GitHub . 12 de noviembre de 2021.
  3. ^ http://wiki.nginx.org/HttpXsltModule
  4. ^ Analizador nginx-xslt-html, Laurence Rowe
  5. ^ Nginx con soporte HTML xslt (html-xslt en Google code), parches Nginx 0.7.67 del 15 de junio de 2010

Enlaces externos