Articulo de referencia

Diazo (software)

{{Cite web|url=https://pypi.python.org/pypi/diazo|title = Diazo: Diazo implements a Deliverance like language using a pure XSLT engine. With Diazo, you \"compile\" your theme an...

Diazo , anteriormente conocido como xdv , es una herramienta de código abierto para la creación de temas web. Está escrita 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 ( el lenguaje específico de dominio propio de Diazo, basado en XML ), lo que permite a los diseñadores web trabajar con plantillas en HTML simple, sin necesidad de conocimientos de XSLT ni de códigos especiales relacionados con las plantillas.

Diazo crea un sitio web temático utilizando reglas definidas por el usuario para combinar contenido estándar de un sitio web dinámico con un tema HTML estático. El archivo de reglas (conocido convencionalmente como rules.xml) contiene directivas que, por ejemplo, pueden reemplazar el contenido de un nodo HTML del tema con el contenido de uno del contenido.

Soporte para servidores 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 ofrece una compatibilidad más directa con Diazo: el filtro DiazoMiddleware compilará y almacenará en caché los temas de Diazo sobre la marcha.

Nginx tiene un procesador XSLT, [ 3 ] pero, desde marzo de 2012, requiere que el sitio web sin tema (el contenido) utilice XHTML estricto. Sin embargo, este requisito estricto puede flexibilizarse 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 gestionaba la transformación HTML en Python, Diazo genera XSLT, que luego se puede usar para delegar la transformación real a motores XSLT más rápidos.

El cambio de nombre a Diazo (desde 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 cambió el nombre a DiazoMiddleware.

Diazo se basa en DVNG , una versión prototipo de xdv. Inicialmente, Diazo implementaba solo un subconjunto de las funciones de Deliverance, pero ahora cuenta con funciones 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 en el tema con el del contenido), beforey after(insertar un nodo antes o después de otro), drop(eliminar un nodo o atributo), strip(eliminar una etiqueta pero no sus nodos hijos), mergey copy.

Un nodo, sus nodos hijos o sus atributos pueden seleccionarse mediante selectores XPath o selectores CSS3. Los selectores CSS se reemplazan por el selector XPath equivalente durante la fase de preprocesamiento del compilador.

Las funciones avanzadas incluyen: condiciones basadas en nodos o rutas de contenido, con agrupación y anidamiento; múltiples temas condicionales; 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, "compilas" tu tema y conjunto de reglas en un solo paso, y luego utilizas una transformación súper rápida/simple en cada solicitud posterior. Alternativamente, compila tu tema durante el desarrollo, inclúyelo en el control de versiones y no toques Diazo durante la implementación" .
  2. "Plone/Diazo" . GitHub . 12 de noviembre de 2021.
  3. "GitHub - nginxinc/nginx-wiki: ARCHIVADO -- Fuente de la sección Wiki de NGINX ahora archivada de https://www.nginx.com · GitHub" . wiki.nginx.org . Consultado el 31-05-2026 .{{cite web}}: Enlace externo en |title=( ayuda )
  4. nginx-xslt-html-parser Archivado el 6 de septiembre de 2014 en Wayback Machine , Laurence Rowe
  5. Nginx con soporte para HTML xslt ( html-xslt en Google Code ), parches para Nginx 0.7.67 del 15 de junio de 2010
  • Diazo.org - página web oficial
Obtenido de " https://en.wikipedia.org/w/index.php?title=Diazo_(software)&oldid=1357079780 "