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:.
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.