ca99be54449ba70c36b3cc511efe6e9acf8a2376
[odoo/odoo.git] / bin / addons / base / rng / view.rng
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>
11             <rng:zeroOrMore>
12                 <rng:choice>
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>
29                 </rng:choice>
30             </rng:zeroOrMore>
31         </rng:element>
32     </rng:define>
33
34     <rng:define name="diagram">
35         <rng:element name="diagram">
36             <rng:optional><rng:attribute name="string"/></rng:optional>
37             <rng:zeroOrMore>
38                 <rng:choice>
39                     <rng:ref name="node"/>
40                     <rng:ref name="arrow"/>
41                 </rng:choice>
42             </rng:zeroOrMore>
43         </rng:element>
44     </rng:define>
45
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>
52             <rng:zeroOrMore>
53                 <rng:choice>
54                     <rng:ref name="field"/>
55                 </rng:choice>
56             </rng:zeroOrMore>
57         </rng:element>
58     </rng:define>
59
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>
67             <rng:zeroOrMore>
68                 <rng:choice>
69                     <rng:ref name="field"/>
70                 </rng:choice>
71             </rng:zeroOrMore>
72         </rng:element>
73     </rng:define>
74
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>
88             <rng:zeroOrMore>
89                 <rng:choice>
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>
100                 </rng:choice>
101             </rng:zeroOrMore>
102         </rng:element>
103     </rng:define>
104
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>
112             <rng:zeroOrMore>
113                 <rng:choice>
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>
123                 </rng:choice>
124             </rng:zeroOrMore>
125         </rng:element>
126     </rng:define>
127
128     <rng:define name="image">
129         <rng:element name="image">
130             <rng:attribute name="name"/>
131         </rng:element>
132     </rng:define>
133
134     <rng:define name="html">
135         <rng:element name="html">
136                 <rng:zeroOrMore>
137                                 <rng:text/>
138                                 <rng:ref name="any"/>
139             </rng:zeroOrMore>
140         </rng:element>
141     </rng:define>
142
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>
154             <rng:zeroOrMore>
155                 <rng:choice>
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>
170                 </rng:choice>
171             </rng:zeroOrMore>
172         </rng:element>
173     </rng:define>
174
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>
180             <rng:oneOrMore>
181                 <rng:optional><rng:ref name="field"/></rng:optional>
182             </rng:oneOrMore>
183             <rng:zeroOrMore>
184                 <rng:optional><rng:ref name="html"/></rng:optional>
185             </rng:zeroOrMore>
186         </rng:element>
187     </rng:define>
188
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>
197             <rng:zeroOrMore>
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>
201             </rng:zeroOrMore>
202         </rng:element>
203     </rng:define>
204
205     <rng:define name="hpaned">
206         <rng:element name="hpaned">
207             <rng:optional><rng:attribute name="position"/></rng:optional>
208             <rng:zeroOrMore>
209                 <rng:ref name="any" />
210                 <rng:optional><rng:ref name="html"/></rng:optional>
211             </rng:zeroOrMore>
212         </rng:element>
213     </rng:define>
214
215     <rng:define name="vpaned">
216         <rng:element name="vpaned">
217             <rng:optional><rng:attribute name="position"/></rng:optional>
218             <rng:zeroOrMore>
219                 <rng:optional><rng:ref name="any"/></rng:optional>
220                 <rng:optional><rng:ref name="html"/></rng:optional>
221             </rng:zeroOrMore>
222         </rng:element>
223     </rng:define>
224
225     <rng:define name="any">
226         <rng:element>
227             <rng:anyName/>
228             <rng:zeroOrMore>
229                 <rng:choice>
230                     <rng:attribute>
231                         <rng:anyName/>
232                     </rng:attribute>
233                     <rng:text/>
234                     <rng:ref name="any"/>
235                 </rng:choice>
236             </rng:zeroOrMore>
237         </rng:element>
238     </rng:define>
239
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>
246             <rng:zeroOrMore>
247                 <rng:choice>
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"/>
264                 </rng:choice>
265             </rng:zeroOrMore>
266         </rng:element>
267     </rng:define>
268
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>
274             <rng:oneOrMore>
275                 <rng:ref name="page"/>
276             </rng:oneOrMore>
277         </rng:element>
278     </rng:define>
279
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>
289             <rng:zeroOrMore>
290                 <rng:choice>
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>
302                 </rng:choice>
303             </rng:zeroOrMore>
304         </rng:element>
305     </rng:define>
306
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>
311             <rng:zeroOrMore>
312                 <rng:choice>
313                     <rng:ref name="any"/>
314                     <rng:ref name="button"/>
315                     <rng:ref name="html"/>
316                 </rng:choice>
317             </rng:zeroOrMore>
318         </rng:element>
319     </rng:define>
320
321     <rng:define name="data">
322         <rng:element name="data">
323             <rng:zeroOrMore>
324                 <rng:choice>
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>
338                 </rng:choice>
339             </rng:zeroOrMore>
340         </rng:element>
341     </rng:define>
342
343     <rng:define name="attribute">
344         <rng:element name="attribute">
345             <rng:attribute name="name" />
346             <rng:zeroOrMore>
347                 <rng:text />
348             </rng:zeroOrMore>
349         </rng:element>
350     </rng:define>
351
352
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>
404             <rng:zeroOrMore>
405                 <rng:choice>
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>
422                 </rng:choice>
423             </rng:zeroOrMore>
424         </rng:element>
425     </rng:define>
426
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>
443             <rng:zeroOrMore>
444                 <rng:choice>
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"/>
460                 </rng:choice>
461             </rng:zeroOrMore>
462         </rng:element>
463     </rng:define>
464
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>
475             <rng:oneOrMore>
476                 <rng:ref name="field"/>
477             </rng:oneOrMore>
478             <rng:zeroOrMore>
479                 <rng:optional><rng:ref name="html"/></rng:optional>
480             </rng:zeroOrMore>
481         </rng:element>
482     </rng:define>
483
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>
490             <rng:oneOrMore>
491                 <rng:ref name="field"/>
492             </rng:oneOrMore>
493             <rng:zeroOrMore>
494                 <rng:optional><rng:ref name="html"/></rng:optional>
495             </rng:zeroOrMore>
496         </rng:element>
497     </rng:define>
498
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>
519             <rng:zeroOrMore>
520                 <rng:choice>
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>
538                 </rng:choice>
539             </rng:zeroOrMore>
540
541         </rng:element>
542     </rng:define>
543
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>
561             <rng:zeroOrMore>
562                 <rng:choice>
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>
578                 </rng:choice>
579             </rng:zeroOrMore>
580
581         </rng:element>
582     </rng:define>
583
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>
590         </rng:element>
591     </rng:define>
592
593     <rng:start>
594         <rng:choice>
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"/>
613         </rng:choice>
614     </rng:start>
615 </rng:grammar>