1 <?xml version="1.0" encoding="UTF-8"?>
2 <rng:grammar xmlns:rng="http://relaxng.org/ns/structure/1.0">
3 <rng:define name="form">
4 <rng:element name="form">
5 <rng:optional><rng:attribute name="string"/></rng:optional>
6 <rng:optional><rng:attribute name="col"/></rng:optional>
7 <rng:optional><rng:attribute name="editable"/></rng:optional>
8 <rng:optional><rng:attribute name="type"/></rng:optional>
9 <rng:optional><rng:attribute name="position"/></rng:optional>
10 <rng:optional><rng:attribute name="link"/></rng:optional>
13 <rng:ref name="notebook"/>
14 <rng:ref name="field"/>
15 <rng:ref name="shortcut"/>
16 <rng:ref name="group"/>
17 <rng:ref name="button"/>
18 <rng:ref name="hpaned" />
19 <rng:ref name="label" />
20 <rng:ref name="separator"/>
21 <rng:ref name="image"/>
22 <rng:ref name="form"/>
23 <rng:ref name="vpaned"/>
24 <rng:ref name="attribute"/>
25 <rng:ref name="filter"/>
26 <rng:ref name="html"/>
27 <rng:element name="newline"><rng:empty/></rng:element>
28 <rng:element name="properties"><rng:empty/></rng:element>
34 <rng:define name="diagram">
35 <rng:element name="diagram">
36 <rng:optional><rng:attribute name="string"/></rng:optional>
39 <rng:ref name="node"/>
40 <rng:ref name="arrow"/>
46 <rng:define name="node">
47 <rng:element name="node">
48 <rng:attribute name="object"/>
49 <rng:optional><rng:attribute name="shape"/></rng:optional>
50 <rng:optional><rng:attribute name="bgcolor"/></rng:optional>
51 <rng:optional><rng:attribute name="form_view_ref"/></rng:optional>
54 <rng:ref name="field"/>
60 <rng:define name="arrow">
61 <rng:element name="arrow">
62 <rng:attribute name="object" />
63 <rng:attribute name="source" />
64 <rng:attribute name="destination" />
65 <rng:optional><rng:attribute name="form_view_ref"/></rng:optional>
66 <rng:optional><rng:attribute name="label"/></rng:optional>
69 <rng:ref name="field"/>
75 <rng:define name="tree">
76 <rng:element name="tree">
77 <rng:optional><rng:attribute name="string"/></rng:optional>
78 <rng:optional><rng:attribute name="colors"/></rng:optional>
79 <rng:optional><rng:attribute name="color"/></rng:optional>
80 <rng:optional><rng:attribute name="editable"/></rng:optional>
81 <rng:optional><rng:attribute name="toolbar"/></rng:optional>
82 <rng:optional><rng:attribute name="position"/></rng:optional>
83 <rng:optional><rng:attribute name="link"/></rng:optional>
84 <rng:optional><rng:attribute name="type"/></rng:optional>
85 <rng:optional><rng:attribute name="limit"/></rng:optional>
86 <rng:optional><rng:attribute name="min_rows"/></rng:optional>
87 <rng:optional><rng:attribute name="on_write"/></rng:optional>
90 <rng:ref name="field"/>
91 <rng:ref name="shortcut"/>
92 <rng:ref name="separator"/>
93 <rng:ref name="tree"/>
94 <rng:ref name="group"/>
95 <rng:ref name="button"/>
96 <rng:ref name="attribute"/>
97 <rng:ref name="filter"/>
98 <rng:ref name="html"/>
99 <rng:element name="newline"><rng:empty/></rng:element>
105 <rng:define name="search">
106 <rng:element name="search">
107 <rng:optional><rng:attribute name="string"/></rng:optional>
108 <rng:optional><rng:attribute name="col"/></rng:optional>
109 <rng:optional><rng:attribute name="type"/></rng:optional>
110 <rng:optional><rng:attribute name="position"/></rng:optional>
111 <rng:optional><rng:attribute name="link"/></rng:optional>
114 <rng:ref name="field"/>
115 <rng:ref name="group"/>
116 <rng:ref name="label" />
117 <rng:ref name="separator"/>
118 <rng:ref name="filter"/>
119 <rng:ref name="search"/>
120 <rng:ref name="html"/>
121 <rng:element name="newline"><rng:empty/></rng:element>
122 <rng:element name="properties"><rng:empty/></rng:element>
128 <rng:define name="image">
129 <rng:element name="image">
130 <rng:attribute name="name"/>
134 <rng:define name="html">
135 <rng:element name="html">
138 <rng:ref name="any"/>
143 <rng:define name="label">
144 <rng:element name="label">
145 <rng:optional><rng:attribute name="align"/></rng:optional>
146 <rng:optional><rng:attribute name="nolabel"/></rng:optional>
147 <rng:optional><rng:attribute name="colspan"/></rng:optional>
148 <rng:optional><rng:attribute name="string"/></rng:optional>
149 <rng:optional><rng:attribute name="angle"/></rng:optional>
150 <rng:optional><rng:attribute name="position"/></rng:optional>
151 <rng:optional><rng:attribute name="fill"/></rng:optional>
152 <rng:optional><rng:attribute name="help"/></rng:optional>
153 <rng:optional><rng:attribute name="width"/></rng:optional>
156 <rng:ref name="notebook"/>
157 <rng:ref name="field"/>
158 <rng:ref name="group"/>
159 <rng:ref name="button"/>
160 <rng:ref name="hpaned" />
161 <rng:ref name="label" />
162 <rng:ref name="separator"/>
163 <rng:ref name="image"/>
164 <rng:ref name="form"/>
165 <rng:ref name="vpaned"/>
166 <rng:ref name="filter"/>
167 <rng:ref name="html"/>
168 <rng:element name="newline"><rng:empty/></rng:element>
169 <rng:element name="properties"><rng:empty/></rng:element>
175 <rng:define name="level">
176 <rng:element name="level">
177 <rng:optional><rng:attribute name="object"/></rng:optional>
178 <rng:optional><rng:attribute name="link"/></rng:optional>
179 <rng:optional><rng:attribute name="domain"/></rng:optional>
181 <rng:optional><rng:ref name="field"/></rng:optional>
184 <rng:optional><rng:ref name="html"/></rng:optional>
189 <rng:define name="gantt">
190 <rng:element name="gantt">
191 <rng:optional><rng:attribute name="color"/></rng:optional>
192 <rng:optional><rng:attribute name="date_delay"/></rng:optional>
193 <rng:optional><rng:attribute name="date_start"/></rng:optional>
194 <rng:optional><rng:attribute name="date_stop"/></rng:optional>
195 <rng:optional><rng:attribute name="date_string"/></rng:optional>
196 <rng:optional><rng:attribute name="string"/></rng:optional>
198 <rng:optional><rng:ref name="level"/></rng:optional>
199 <rng:optional><rng:ref name="field"/></rng:optional>
200 <rng:optional><rng:ref name="html"/></rng:optional>
205 <rng:define name="hpaned">
206 <rng:element name="hpaned">
207 <rng:optional><rng:attribute name="position"/></rng:optional>
209 <rng:ref name="any" />
210 <rng:optional><rng:ref name="html"/></rng:optional>
215 <rng:define name="vpaned">
216 <rng:element name="vpaned">
217 <rng:optional><rng:attribute name="position"/></rng:optional>
219 <rng:optional><rng:ref name="any"/></rng:optional>
220 <rng:optional><rng:ref name="html"/></rng:optional>
225 <rng:define name="any">
234 <rng:ref name="any"/>
240 <rng:define name="page">
241 <rng:element name="page">
242 <rng:optional><rng:attribute name="string"/></rng:optional>
243 <rng:optional><rng:attribute name="groups"/></rng:optional>
244 <rng:optional><rng:attribute name="attrs"/></rng:optional>
245 <rng:optional><rng:attribute name="position"/></rng:optional>
248 <rng:element name="newline"><rng:empty/></rng:element>
249 <rng:element name="properties"><rng:empty/></rng:element>
250 <rng:ref name="attribute" />
251 <rng:ref name="label" />
252 <rng:ref name="field"/>
253 <rng:ref name="shortcut"/>
254 <rng:ref name="group"/>
255 <rng:ref name="separator"/>
256 <rng:ref name="button"/>
257 <rng:ref name="form" />
258 <rng:ref name="page" />
259 <rng:ref name="notebook"/>
260 <rng:ref name="hpaned"/>
261 <rng:ref name="vpaned"/>
262 <rng:ref name="filter"/>
263 <rng:ref name="html"/>
269 <rng:define name="notebook">
270 <rng:element name="notebook">
271 <rng:optional><rng:attribute name="position"/></rng:optional>
272 <rng:optional><rng:attribute name="colspan"/></rng:optional>
273 <rng:optional><rng:attribute name="tabpos"/></rng:optional>
275 <rng:ref name="page"/>
280 <rng:define name="separator">
281 <rng:element name="separator">
282 <rng:optional><rng:attribute name="colspan"/></rng:optional>
283 <rng:optional><rng:attribute name="rowspan"/></rng:optional>
284 <rng:optional><rng:attribute name="string"/></rng:optional>
285 <rng:optional><rng:attribute name="col"/></rng:optional>
286 <rng:optional><rng:attribute name="select"/></rng:optional>
287 <rng:optional><rng:attribute name="position"/></rng:optional>
288 <rng:optional><rng:attribute name="orientation"/></rng:optional>
291 <rng:ref name="attribute"/>
292 <rng:ref name="separator"/>
293 <rng:ref name="button"/>
294 <rng:ref name="field"/>
295 <rng:ref name="shortcut"/>
296 <rng:ref name="label" />
297 <rng:ref name="group" />
298 <rng:ref name="filter"/>
299 <rng:ref name="html"/>
300 <rng:element name="properties"><rng:empty/></rng:element>
301 <rng:element name="newline"><rng:empty/></rng:element>
307 <rng:define name="xpath">
308 <rng:element name="xpath">
309 <rng:optional><rng:attribute name="expr"/></rng:optional>
310 <rng:optional><rng:attribute name="position"/></rng:optional>
313 <rng:ref name="any"/>
314 <rng:ref name="button"/>
315 <rng:ref name="html"/>
321 <rng:define name="data">
322 <rng:element name="data">
325 <rng:ref name="form"/>
326 <rng:ref name="tree"/>
327 <rng:ref name="field"/>
328 <rng:ref name="label"/>
329 <rng:ref name="separator"/>
330 <rng:ref name="notebook"/>
331 <rng:ref name="page"/>
332 <rng:ref name="xpath"/>
333 <rng:ref name="button"/>
334 <rng:ref name="group"/>
335 <rng:ref name="graph"/>
336 <rng:ref name="html"/>
337 <rng:element name="newline"><rng:empty/></rng:element>
343 <rng:define name="attribute">
344 <rng:element name="attribute">
345 <rng:attribute name="name" />
353 <rng:define name="field">
354 <rng:element name="field">
355 <rng:attribute name="name" />
356 <rng:optional><rng:attribute name="editable"/></rng:optional>
357 <rng:optional><rng:attribute name="attrs"/></rng:optional>
358 <rng:optional><rng:attribute name="string"/></rng:optional>
359 <rng:optional><rng:attribute name="completion"/></rng:optional>
360 <rng:optional><rng:attribute name="width"/></rng:optional>
361 <rng:optional><rng:attribute name="type"/></rng:optional>
362 <rng:optional><rng:attribute name="ref"/></rng:optional>
363 <rng:optional><rng:attribute name="eval"/></rng:optional>
364 <rng:optional><rng:attribute name="search"/></rng:optional>
365 <rng:optional><rng:attribute name="model"/></rng:optional>
366 <rng:optional><rng:attribute name="use"/></rng:optional>
367 <rng:optional><rng:attribute name="on_change"/></rng:optional>
368 <rng:optional><rng:attribute name="domain"/></rng:optional>
369 <rng:optional><rng:attribute name="filter_domain"/></rng:optional>
370 <rng:optional><rng:attribute name="invisible"/></rng:optional>
371 <rng:optional><rng:attribute name="password"/></rng:optional>
372 <rng:optional><rng:attribute name="comparator"/></rng:optional>
373 <rng:optional><rng:attribute name="sum"/></rng:optional>
374 <rng:optional><rng:attribute name="bold"/></rng:optional>
375 <rng:optional><rng:attribute name="avg"/></rng:optional>
376 <rng:optional><rng:attribute name="select"/></rng:optional>
377 <rng:optional><rng:attribute name="group"/></rng:optional>
378 <rng:optional><rng:attribute name="operator"/></rng:optional>
379 <rng:optional><rng:attribute name="colspan"/></rng:optional>
380 <rng:optional><rng:attribute name="nolabel"/></rng:optional>
381 <rng:optional><rng:attribute name="default"/></rng:optional>
382 <rng:optional><rng:attribute name="default_get"/></rng:optional>
383 <rng:optional><rng:attribute name="required"/></rng:optional>
384 <rng:optional><rng:attribute name="readonly"/></rng:optional>
385 <rng:optional><rng:attribute name="view_mode"/></rng:optional>
386 <rng:optional><rng:attribute name="widget"/></rng:optional>
387 <rng:optional><rng:attribute name="context"/></rng:optional>
388 <rng:optional><rng:attribute name="groups"/></rng:optional>
389 <rng:optional><rng:attribute name="states"/></rng:optional>
390 <rng:optional><rng:attribute name="position"/></rng:optional>
391 <rng:optional><rng:attribute name="digits"/></rng:optional>
392 <rng:optional><rng:attribute name="icon"/></rng:optional>
393 <rng:optional><rng:attribute name="mode"/></rng:optional>
394 <rng:optional><rng:attribute name="img_width"/></rng:optional>
395 <rng:optional><rng:attribute name="img_height"/></rng:optional>
396 <rng:optional><rng:attribute name="size"/></rng:optional>
397 <rng:optional><rng:attribute name="filename"/></rng:optional>
398 <rng:optional><rng:attribute name="fieldname"/></rng:optional>
399 <rng:optional><rng:attribute name="height"/></rng:optional>
400 <rng:optional><rng:attribute name="rowspan"/></rng:optional>
401 <rng:optional><rng:attribute name="align"/></rng:optional>
402 <rng:optional><rng:attribute name="selection"/></rng:optional>
403 <rng:optional><rng:attribute name="default_focus"/></rng:optional>
406 <rng:ref name="diagram"/>
407 <rng:ref name="attribute" />
408 <rng:ref name="form"/>
409 <rng:ref name="data"/>
410 <rng:ref name="tree"/>
411 <rng:ref name="field"/>
412 <rng:ref name="label"/>
413 <rng:ref name="separator"/>
414 <rng:ref name="xpath"/>
415 <rng:ref name="button"/>
416 <rng:ref name="group"/>
417 <rng:ref name="graph"/>
418 <rng:ref name="filter"/>
419 <rng:ref name="notebook"/>
420 <rng:ref name="html"/>
421 <rng:element name="newline"><rng:empty/></rng:element>
427 <rng:define name="group">
428 <rng:element name="group">
429 <rng:optional><rng:attribute name="attrs"/></rng:optional>
430 <rng:optional><rng:attribute name="col"/></rng:optional>
431 <rng:optional><rng:attribute name="colspan"/></rng:optional>
432 <rng:optional><rng:attribute name="rowspan"/></rng:optional>
433 <rng:optional><rng:attribute name="position"/></rng:optional>
434 <rng:optional><rng:attribute name="expand"/></rng:optional>
435 <rng:optional><rng:attribute name="states"/></rng:optional>
436 <rng:optional><rng:attribute name="groups"/></rng:optional>
437 <rng:optional><rng:attribute name="string"/></rng:optional>
438 <rng:optional><rng:attribute name="fill"/></rng:optional>
439 <rng:optional><rng:attribute name="height"/></rng:optional>
440 <rng:optional><rng:attribute name="width"/></rng:optional>
441 <rng:optional><rng:attribute name="name"/></rng:optional>
442 <rng:optional><rng:attribute name="color" /></rng:optional>
445 <rng:ref name="attribute"/>
446 <rng:ref name="separator"/>
447 <rng:ref name="button"/>
448 <rng:ref name="field"/>
449 <rng:ref name="shortcut"/>
450 <rng:ref name="label" />
451 <rng:ref name="group" />
452 <rng:ref name="filter"/>
453 <rng:element name="properties"><rng:empty/></rng:element>
454 <rng:element name="newline"><rng:empty/></rng:element>
455 <rng:ref name="image"/>
456 <rng:ref name="notebook"/>
457 <rng:ref name="hpaned"/>
458 <rng:ref name="vpaned"/>
459 <rng:ref name="html"/>
465 <rng:define name="calendar">
466 <rng:element name="calendar">
467 <rng:optional><rng:attribute name="string" /></rng:optional>
468 <rng:optional><rng:attribute name="color" /></rng:optional>
469 <rng:optional><rng:attribute name="date_start" /></rng:optional>
470 <rng:optional><rng:attribute name="date_stop" /></rng:optional>
471 <rng:optional><rng:attribute name="day_length" /></rng:optional>
472 <rng:optional><rng:attribute name="date_delay" /></rng:optional>
473 <rng:optional><rng:attribute name="type" /></rng:optional>
474 <rng:optional><rng:attribute name="mode" /></rng:optional>
476 <rng:ref name="field"/>
479 <rng:optional><rng:ref name="html"/></rng:optional>
484 <rng:define name="graph">
485 <rng:element name="graph">
486 <rng:optional><rng:attribute name="string" /></rng:optional>
487 <rng:optional><rng:attribute name="orientation" /></rng:optional>
488 <rng:optional><rng:attribute name="type" /></rng:optional>
489 <rng:optional><rng:attribute name="color"/></rng:optional>
491 <rng:ref name="field"/>
494 <rng:optional><rng:ref name="html"/></rng:optional>
499 <rng:define name="button">
500 <rng:element name="button">
501 <rng:optional><rng:attribute name="attrs"/></rng:optional>
502 <rng:optional><rng:attribute name="invisible"/></rng:optional>
503 <rng:optional><rng:attribute name="name" /></rng:optional>
504 <rng:optional><rng:attribute name="icon" /></rng:optional>
505 <rng:optional><rng:attribute name="string" /></rng:optional>
506 <rng:optional><rng:attribute name="states" /></rng:optional>
507 <rng:optional><rng:attribute name="type" /></rng:optional>
508 <rng:optional><rng:attribute name="special" /></rng:optional>
509 <rng:optional><rng:attribute name="align" /></rng:optional>
510 <rng:optional><rng:attribute name="colspan"/></rng:optional>
511 <rng:optional><rng:attribute name="groups"/></rng:optional>
512 <rng:optional><rng:attribute name="target"/></rng:optional>
513 <rng:optional><rng:attribute name="readonly"/></rng:optional>
514 <rng:optional><rng:attribute name="position"/></rng:optional>
515 <rng:optional><rng:attribute name="context"/></rng:optional>
516 <rng:optional><rng:attribute name="confirm"/></rng:optional>
517 <rng:optional><rng:attribute name="help"/></rng:optional>
518 <rng:optional><rng:attribute name="default_focus"/></rng:optional>
521 <rng:ref name="attribute" />
522 <rng:ref name="form" />
523 <rng:ref name="field" />
524 <rng:ref name="tree" />
525 <rng:ref name="notebook" />
526 <rng:ref name="graph" />
527 <rng:ref name="calendar" />
528 <rng:ref name="gantt" />
529 <rng:ref name="xpath" />
530 <rng:ref name="page" />
531 <rng:ref name="separator"/>
532 <rng:ref name="button"/>
533 <rng:ref name="group"/>
534 <rng:ref name="filter"/>
535 <rng:ref name="html"/>
536 <rng:element name="properties"><rng:empty/></rng:element>
537 <rng:element name="newline"><rng:empty/></rng:element>
544 <rng:define name="filter">
545 <rng:element name="filter">
546 <rng:optional><rng:attribute name="attrs"/></rng:optional>
547 <rng:optional><rng:attribute name="name" /></rng:optional>
548 <rng:optional><rng:attribute name="separator" /></rng:optional>
549 <rng:optional><rng:attribute name="icon" /></rng:optional>
550 <rng:optional><rng:attribute name="string" /></rng:optional>
551 <rng:optional><rng:attribute name="type" /></rng:optional>
552 <rng:optional><rng:attribute name="align" /></rng:optional>
553 <rng:optional><rng:attribute name="colspan"/></rng:optional>
554 <rng:optional><rng:attribute name="groups"/></rng:optional>
555 <rng:optional><rng:attribute name="readonly"/></rng:optional>
556 <rng:optional><rng:attribute name="position"/></rng:optional>
557 <rng:optional><rng:attribute name="context"/></rng:optional>
558 <rng:optional><rng:attribute name="help"/></rng:optional>
559 <rng:optional><rng:attribute name="domain"/></rng:optional>
560 <rng:optional><rng:attribute name="default"/></rng:optional>
563 <rng:ref name="form" />
564 <rng:ref name="field" />
565 <rng:ref name="tree" />
566 <rng:ref name="notebook" />
567 <rng:ref name="graph" />
568 <rng:ref name="calendar" />
569 <rng:ref name="gantt" />
570 <rng:ref name="xpath" />
571 <rng:ref name="page" />
572 <rng:ref name="separator"/>
573 <rng:ref name="button"/>
574 <rng:ref name="filter"/>
575 <rng:ref name="html"/>
576 <rng:element name="properties"><rng:empty/></rng:element>
577 <rng:element name="newline"><rng:empty/></rng:element>
584 <rng:define name="shortcut">
585 <rng:element name="shortcut">
586 <rng:optional><rng:attribute name="attrs"/></rng:optional>
587 <rng:optional><rng:attribute name="name" /></rng:optional>
588 <rng:optional><rng:attribute name="key"/></rng:optional>
589 <rng:optional><rng:attribute name="goto" /></rng:optional>
595 <rng:ref name="diagram" />
596 <rng:ref name="form" />
597 <rng:ref name="search" />
598 <rng:ref name="group" />
599 <rng:ref name="field" />
600 <rng:ref name="tree" />
601 <rng:ref name="notebook" />
602 <rng:ref name="graph" />
603 <rng:ref name="calendar" />
604 <rng:ref name="data" />
605 <rng:ref name="gantt" />
606 <rng:ref name="xpath" />
607 <rng:ref name="page" />
608 <rng:ref name="separator"/>
609 <rng:ref name="button"/>
610 <rng:ref name="filter"/>
611 <rng:ref name="label" />
612 <rng:ref name="html"/>