Knowledge (XXG)

Diazo (software)

Source 📝

22: 392:"Diazo: Diazo implements a Deliverance like language using a pure XSLT engine. With Diazo, you "compile" your theme and ruleset in one step, then use a superfast/Simple transform on each request thereafter. Alternatively, compile your theme during development, check it into version control, and not touch Diazo during deployment" 331:, a prototype version of xdv. Diazo originally implemented only a subset of the features in Deliverance, but now has similar features, although their configuration language is not completely compatible. Diazo has become the de facto standard for theming in Plone 4 and is included in Plone 4.2 and later. 304:
Diazo was originally a reimplementation of an earlier software called Deliverance. Where Deliverance would handle the HTML transformation in Python, Diazo generates XSLT which can then be used to defer the actual transformation to faster XSLT engines.
374:
Advanced features include: conditions based on content nodes or paths, with grouping and nesting; multiple, conditional themes; modifying the theme or content on the fly; inline XSL directives; Doctype changes; XInclude protocol.
370:
A node, node's children or attribute, can be selected with either XPath selectors or CSS3 selectors. CSS selectors are replaced by the equivalent XPath selector during the pre-processing step of the compiler.
295:
Nginx has an XSLT processor, but, as of March 2012, it requires the unthemed website (the content) to use strict XHTML. The strict requirement can be relaxed, however, if a patched version of Nginx is used.
308:
The name change to Diazo (from xdv) was announced at the Plone conference 2010. A major motivation for the name change was to reduce ambiguity, as the XDV name was used by both
51: 479: 261:) has directives which, for example, may replace the contents of an HTML node in the theme with the contents of one in the content. 91: 67: 250:), allowing web designers to work on templates in plain HTML, without knowledge of XSLT or special template-related codes. 235: 189: 282: 146: 124: 43: 47: 243: 32: 257:
content from a dynamic website together with a static HTML theme. The rules file (conventionally named
36: 242:. Diazo creates a separation between theme pages (static HTML) and transformation rules (Diazo's own 231: 56: 60: 278: 274: 184: 71: 313: 254: 196: 172: 177: 473: 435: 273:, which can be deployed on any proxying web server with an XSLT processor such as 110: 448: 424: 201: 410: 391: 343:(replace a node or attribute in the theme with that from content), 253:
Diazo creates a themed site by using user-defined rules to combine
405: 270: 239: 247: 15: 320:) and by the stand-alone XDV tools (now called Diazo). Also 54:
and tools are available to assist in formatting, such as
292:
filter will compile and cache Diazo themes on the fly.
463: 212: 207: 195: 183: 171: 145: 123: 109: 288:WSGI also has more direct Diazo support: the 115:Paul Everitt, Laurence Rowe and Martin Aspeli 8: 104: 35:, which are uninformative and vulnerable to 50:and maintains a consistent citation style. 103: 451:), patches Nginx 0.7.67 from 15 June 2010 351:(insert a node before or after another), 92:Learn how and when to remove this message 359:(remove a tag but not its child nodes), 383: 339:The basic directives of Diazo include: 234:website theming tool. It is written in 316:-specific theming package, now called 7: 425:http://wiki.nginx.org/HttpXsltModule 42:Please consider converting them to 14: 152:e917d54922 / May 20, 2015 130:1.1.1 / March 21, 2015 324:was renamed to DiazoMiddleware. 20: 447:Nginx with HTML xslt support ( 355:(delete a node or attribute), 46:to ensure the article remains 1: 269:The Diazo compiler generates 496: 167: 119: 480:Web development software 449:html-xslt on Google code 244:domain specific language 230:, is a general-purpose, 277:(using mod_transform), 436:nginx-xslt-html-parser 154:; 9 years ago 132:; 9 years ago 466:- official homepage 414:. 12 November 2021. 226:, previously named 106: 327:Diazo is based on 300:History and naming 265:Web server support 318:plone.app.theming 221: 220: 102: 101: 94: 52:Several templates 487: 452: 445: 439: 433: 427: 422: 416: 415: 402: 396: 395: 388: 366: 362: 358: 354: 350: 346: 342: 323: 319: 311: 260: 217: 214: 173:Operating system 162: 160: 155: 140: 138: 133: 107: 97: 90: 86: 83: 77: 75: 64: 24: 23: 16: 495: 494: 490: 489: 488: 486: 485: 484: 470: 469: 460: 455: 446: 442: 438:, Laurence Rowe 434: 430: 423: 419: 404: 403: 399: 390: 389: 385: 381: 364: 360: 356: 352: 348: 344: 340: 337: 321: 317: 309: 302: 290:DiazoMiddleware 267: 258: 211: 163: 158: 156: 153: 147:Preview release 141: 136: 134: 131: 98: 87: 81: 78: 66: 55: 41: 25: 21: 12: 11: 5: 493: 491: 483: 482: 472: 471: 468: 467: 459: 458:External links 456: 454: 453: 440: 428: 417: 397: 382: 380: 377: 336: 333: 310:collective.xdv 301: 298: 266: 263: 238:and generates 219: 218: 209: 205: 204: 199: 193: 192: 187: 181: 180: 178:Cross-platform 175: 169: 168: 165: 164: 151: 149: 143: 142: 129: 127: 125:Stable release 121: 120: 117: 116: 113: 100: 99: 44:full citations 28: 26: 19: 13: 10: 9: 6: 4: 3: 2: 492: 481: 478: 477: 475: 465: 462: 461: 457: 450: 444: 441: 437: 432: 429: 426: 421: 418: 413: 412: 407: 406:"Plone/Diazo" 401: 398: 393: 387: 384: 378: 376: 372: 368: 334: 332: 330: 325: 315: 306: 299: 297: 293: 291: 286: 284: 280: 276: 272: 264: 262: 256: 251: 249: 245: 241: 237: 233: 229: 225: 216: 210: 206: 203: 200: 198: 194: 191: 188: 186: 182: 179: 176: 174: 170: 166: 150: 148: 144: 128: 126: 122: 118: 114: 112: 108: 96: 93: 85: 73: 72:documentation 69: 62: 61:documentation 58: 53: 49: 45: 40: 38: 34: 29:This article 27: 18: 17: 443: 431: 420: 409: 400: 386: 373: 369: 338: 328: 326: 322:dv.xdvserver 307: 303: 294: 289: 287: 268: 252: 227: 223: 222: 111:Developer(s) 88: 79: 68:Citation bot 30: 232:open source 82:August 2022 379:References 335:Directives 159:2015-05-20 137:2015-03-21 48:verifiable 464:Diazo.org 259:rules.xml 246:based in 33:bare URLs 474:Category 185:Platform 37:link rot 341:replace 279:Varnish 255:vanilla 208:Website 202:New BSD 197:License 157: ( 135: ( 411:GitHub 363:, and 345:before 275:Apache 236:Python 190:Python 57:reFill 361:merge 357:strip 349:after 314:Plone 281:, or 224:Diazo 213:diazo 105:Diazo 31:uses 365:copy 353:drop 347:and 329:DVNG 283:WSGI 271:XSLT 240:XSLT 215:.org 65:and 312:(a 248:XML 228:xdv 476:: 408:. 367:. 285:. 394:. 161:) 139:) 95:) 89:( 84:) 80:( 76:. 74:) 70:( 63:) 59:( 39:.

Index

bare URLs
link rot
full citations
verifiable
Several templates
reFill
documentation
Citation bot
documentation
Learn how and when to remove this message
Developer(s)
Stable release
Preview release
Operating system
Cross-platform
Platform
Python
License
New BSD
diazo.org
open source
Python
XSLT
domain specific language
XML
vanilla
XSLT
Apache
Varnish
WSGI

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.