[IMP] base, rng: allowed name attribute on separator tag
[odoo/odoo.git] / openerp / 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               datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
4   <!-- Handling of element overloading when inheriting from a base
5        template
6   -->
7   <rng:define name="overload">
8     <rng:optional>
9       <!--
10           Alter matched element with content
11       -->
12       <rng:choice>
13         <rng:attribute name="position">
14           <rng:choice>
15             <!-- Insert content before first child -->
16             <rng:value>before</rng:value>
17             <!-- Insert content after last child -->
18             <rng:value>after</rng:value>
19             <!-- Replace all children with content -->
20             <rng:value>inside</rng:value>
21             <!-- Replace matched element itself with content -->
22             <rng:value>replace</rng:value>
23           </rng:choice>
24         </rng:attribute>
25         <rng:group>
26           <rng:attribute name="position">
27             <!-- Edit element attributes -->
28             <rng:value>attributes</rng:value>
29           </rng:attribute>
30           <rng:oneOrMore>
31             <rng:element name="attribute">
32               <rng:attribute name="name"><rng:text/></rng:attribute>
33               <rng:text />
34             </rng:element>
35           </rng:oneOrMore>
36         </rng:group>
37       </rng:choice>
38     </rng:optional>
39   </rng:define>
40
41     <rng:define name="access_rights">
42         <rng:optional>
43             <rng:attribute name="groups"/>
44         </rng:optional>
45     </rng:define>
46
47
48
49   <rng:define name="container">
50     <rng:optional><rng:attribute name="col"/></rng:optional>
51     <rng:zeroOrMore>
52       <rng:choice>
53         <rng:ref name="notebook"/>
54         <rng:ref name="field"/>
55         <rng:ref name="group"/>
56         <rng:ref name="button"/>
57         <rng:ref name="hpaned" />
58         <rng:ref name="label" />
59         <rng:ref name="separator"/>
60         <rng:ref name="image"/>
61         <rng:ref name="form"/>
62         <rng:ref name="vpaned"/>
63         <rng:ref name="filter"/>
64         <rng:ref name="html"/>
65         <rng:element name="newline"><rng:empty/></rng:element>
66         <rng:element name="properties"><rng:empty/></rng:element>
67       </rng:choice>
68     </rng:zeroOrMore>
69   </rng:define>
70
71     <rng:define name="form">
72         <rng:element name="form">
73             <rng:ref name="overload"/>
74             <rng:optional><rng:attribute name="string"/></rng:optional>
75             <rng:optional><rng:attribute name="type"/></rng:optional>
76             <rng:optional><rng:attribute name="link"/></rng:optional>
77             <rng:ref name="container"/>
78         </rng:element>
79     </rng:define>
80
81     <rng:define name="diagram">
82         <rng:element name="diagram">
83             <rng:optional><rng:attribute name="string"/></rng:optional>
84             <rng:zeroOrMore>
85                 <rng:choice>
86                     <rng:ref name="node"/>
87                     <rng:ref name="arrow"/>
88                 </rng:choice>
89             </rng:zeroOrMore>
90         </rng:element>
91     </rng:define>
92
93     <rng:define name="node">
94         <rng:element name="node">
95             <rng:attribute name="object"/>
96             <rng:optional><rng:attribute name="shape"/></rng:optional>
97             <rng:optional><rng:attribute name="bgcolor"/></rng:optional>
98             <rng:optional><rng:attribute name="form_view_ref"/></rng:optional>
99             <rng:zeroOrMore>
100                 <rng:choice>
101                     <rng:ref name="field"/>
102                 </rng:choice>
103             </rng:zeroOrMore>
104         </rng:element>
105     </rng:define>
106
107     <rng:define name="arrow">
108         <rng:element name="arrow">
109             <rng:attribute name="object" />
110             <rng:attribute name="source" />
111             <rng:attribute name="destination" />
112             <rng:optional><rng:attribute name="form_view_ref"/></rng:optional>
113             <rng:optional><rng:attribute name="label"/></rng:optional>
114             <rng:zeroOrMore>
115                 <rng:choice>
116                     <rng:ref name="field"/>
117                 </rng:choice>
118             </rng:zeroOrMore>
119         </rng:element>
120     </rng:define>
121
122     <rng:define name="tree">
123         <rng:element name="tree">
124             <rng:ref name="overload"/>
125             <rng:optional><rng:attribute name="string"/></rng:optional>
126             <rng:optional><rng:attribute name="colors"/></rng:optional>
127             <rng:optional><rng:attribute name="color"/></rng:optional>
128             <rng:optional>
129               <rng:attribute name="editable">
130                 <rng:choice>
131                   <rng:value>top</rng:value>
132                   <rng:value>bottom</rng:value>
133                 </rng:choice>
134               </rng:attribute>
135             </rng:optional>
136             <rng:optional><rng:attribute name="toolbar"/></rng:optional>
137             <rng:optional><rng:attribute name="link"/></rng:optional>
138             <rng:optional><rng:attribute name="type"/></rng:optional>
139             <rng:optional><rng:attribute name="limit"/></rng:optional>
140             <rng:optional><rng:attribute name="min_rows"/></rng:optional>
141             <rng:optional><rng:attribute name="on_write"/></rng:optional>
142             <rng:zeroOrMore>
143                 <rng:choice>
144                     <rng:ref name="field"/>
145                     <rng:ref name="separator"/>
146                     <rng:ref name="tree"/>
147                     <rng:ref name="group"/>
148                     <rng:ref name="button"/>
149                     <rng:ref name="filter"/>
150                     <rng:ref name="html"/>
151                     <rng:element name="newline"><rng:empty/></rng:element>
152                 </rng:choice>
153             </rng:zeroOrMore>
154         </rng:element>
155     </rng:define>
156
157     <rng:define name="search">
158         <rng:element name="search">
159             <rng:ref name="overload"/>
160             <rng:optional><rng:attribute name="string"/></rng:optional>
161             <rng:optional><rng:attribute name="col"/></rng:optional>
162             <rng:optional><rng:attribute name="type"/></rng:optional>
163             <rng:optional><rng:attribute name="link"/></rng:optional>
164             <rng:zeroOrMore>
165                 <rng:choice>
166                     <rng:ref name="field"/>
167                     <rng:ref name="group"/>
168                     <rng:ref name="separator"/>
169                     <rng:ref name="filter"/>
170                     <rng:ref name="search"/>
171                     <rng:element name="newline"><rng:empty/></rng:element>
172                     <rng:element name="properties"><rng:empty/></rng:element>
173                 </rng:choice>
174             </rng:zeroOrMore>
175         </rng:element>
176     </rng:define>
177
178     <rng:define name="image">
179         <rng:element name="image">
180             <rng:attribute name="name"/>
181         </rng:element>
182     </rng:define>
183
184     <rng:define name="html">
185         <rng:element name="html">
186             <rng:zeroOrMore>
187                     <rng:text/>
188                     <rng:ref name="any"/>
189             </rng:zeroOrMore>
190         </rng:element>
191     </rng:define>
192
193     <rng:define name="label">
194         <rng:element name="label">
195             <rng:ref name="overload"/>
196             <rng:optional><rng:attribute name="align"/></rng:optional>
197             <rng:optional><rng:attribute name="nolabel"/></rng:optional>
198             <rng:optional><rng:attribute name="colspan"/></rng:optional>
199             <rng:optional><rng:attribute name="string"/></rng:optional>
200             <rng:optional><rng:attribute name="angle"/></rng:optional>
201             <rng:optional><rng:attribute name="fill"/></rng:optional>
202             <rng:optional><rng:attribute name="help"/></rng:optional>
203             <rng:optional><rng:attribute name="width"/></rng:optional>
204             <rng:optional><rng:attribute name="wrap"/></rng:optional>
205             <rng:zeroOrMore>
206                 <rng:choice>
207                     <rng:ref name="notebook"/>
208                     <rng:ref name="field"/>
209                     <rng:ref name="group"/>
210                     <rng:ref name="button"/>
211                     <rng:ref name="hpaned" />
212                     <rng:ref name="label" />
213                     <rng:ref name="separator"/>
214                     <rng:ref name="image"/>
215                     <rng:ref name="form"/>
216                     <rng:ref name="vpaned"/>
217                     <rng:ref name="filter"/>
218                     <rng:ref name="html"/>
219                     <rng:element name="newline"><rng:empty/></rng:element>
220                     <rng:element name="properties"><rng:empty/></rng:element>
221                 </rng:choice>
222             </rng:zeroOrMore>
223         </rng:element>
224     </rng:define>
225
226     <rng:define name="level">
227         <rng:element name="level">
228             <rng:optional><rng:attribute name="object"/></rng:optional>
229             <rng:optional><rng:attribute name="link"/></rng:optional>
230             <rng:optional><rng:attribute name="domain"/></rng:optional>
231             <rng:zeroOrMore>
232                 <rng:ref name="field"/>
233             </rng:zeroOrMore>
234             <rng:zeroOrMore>
235                 <rng:ref name="html"/>
236             </rng:zeroOrMore>
237         </rng:element>
238     </rng:define>
239
240     <rng:define name="gantt">
241         <rng:element name="gantt">
242             <rng:optional><rng:attribute name="mode">
243               <rng:choice>
244                  <rng:value>day</rng:value>
245                  <rng:value>3days</rng:value>
246                  <rng:value>week</rng:value>
247                  <rng:value>3weeks</rng:value>
248                  <rng:value>month</rng:value>
249                  <rng:value>3months</rng:value>
250                  <rng:value>year</rng:value>
251                  <rng:value>3years</rng:value>
252                  <rng:value>5years</rng:value>
253               </rng:choice></rng:attribute>
254             </rng:optional>
255             <rng:optional><rng:attribute name="color"/></rng:optional>
256             <rng:optional><rng:attribute name="date_delay"/></rng:optional>
257             <rng:optional><rng:attribute name="day_length"/></rng:optional>
258             <rng:optional><rng:attribute name="date_start"/></rng:optional>
259             <rng:optional><rng:attribute name="date_stop"/></rng:optional>
260             <rng:optional><rng:attribute name="date_string"/></rng:optional>
261             <rng:optional><rng:attribute name="string"/></rng:optional>
262             <rng:zeroOrMore>
263                 <rng:optional><rng:ref name="level"/></rng:optional>
264                 <rng:optional><rng:ref name="field"/></rng:optional>
265                 <rng:optional><rng:ref name="html"/></rng:optional>
266             </rng:zeroOrMore>
267         </rng:element>
268     </rng:define>
269
270     <rng:define name="hpaned">
271         <rng:element name="hpaned">
272             <rng:optional>
273               <rng:attribute name="position">
274                 <rng:data type="int"/>
275               </rng:attribute>
276             </rng:optional>
277             <rng:zeroOrMore>
278                 <rng:ref name="any" />
279                 <rng:optional><rng:ref name="html"/></rng:optional>
280             </rng:zeroOrMore>
281         </rng:element>
282     </rng:define>
283
284     <rng:define name="vpaned">
285         <rng:element name="vpaned">
286             <rng:optional>
287               <rng:attribute name="position">
288                 <rng:data type="int"/>
289               </rng:attribute>
290             </rng:optional>
291             <rng:zeroOrMore>
292                 <rng:optional><rng:ref name="any"/></rng:optional>
293                 <rng:optional><rng:ref name="html"/></rng:optional>
294             </rng:zeroOrMore>
295         </rng:element>
296     </rng:define>
297
298     <rng:define name="any">
299         <rng:element>
300             <rng:anyName/>
301             <rng:zeroOrMore>
302                 <rng:choice>
303                     <rng:attribute>
304                         <rng:anyName/>
305                     </rng:attribute>
306                     <rng:text/>
307                     <rng:ref name="any"/>
308                 </rng:choice>
309             </rng:zeroOrMore>
310         </rng:element>
311     </rng:define>
312
313     <rng:define name="page">
314         <rng:element name="page">
315             <rng:ref name="overload"/>
316             <rng:ref name="access_rights"/>
317             <rng:optional><rng:attribute name="string"/></rng:optional>
318             <rng:optional><rng:attribute name="name"/></rng:optional>
319             <rng:optional><rng:attribute name="attrs"/></rng:optional>
320             <rng:optional><rng:attribute name="invisible"/></rng:optional>
321             <rng:zeroOrMore>
322                 <rng:choice>
323                     <rng:element name="newline"><rng:empty/></rng:element>
324                     <rng:element name="properties"><rng:empty/></rng:element>
325                     <rng:ref name="label" />
326                     <rng:ref name="field"/>
327                     <rng:ref name="group"/>
328                     <rng:ref name="separator"/>
329                     <rng:ref name="button"/>
330                     <rng:ref name="form" />
331                     <rng:ref name="page" />
332                     <rng:ref name="notebook"/>
333                     <rng:ref name="hpaned"/>
334                     <rng:ref name="vpaned"/>
335                     <rng:ref name="filter"/>
336                     <rng:ref name="html"/>
337                 </rng:choice>
338             </rng:zeroOrMore>
339         </rng:element>
340     </rng:define>
341
342     <rng:define name="notebook">
343         <rng:element name="notebook">
344             <rng:ref name="overload"/>
345             <rng:optional><rng:attribute name="colspan"/></rng:optional>
346             <rng:optional><rng:attribute name="tabpos"/></rng:optional>
347             <rng:oneOrMore>
348                 <rng:ref name="page"/>
349             </rng:oneOrMore>
350         </rng:element>
351     </rng:define>
352
353     <rng:define name="separator">
354         <rng:element name="separator">
355             <rng:ref name="overload"/>
356             <rng:ref name="access_rights"/>
357             <rng:optional><rng:attribute name="name"/></rng:optional>
358             <rng:optional><rng:attribute name="colspan"/></rng:optional>
359             <rng:optional><rng:attribute name="rowspan"/></rng:optional>
360             <rng:optional><rng:attribute name="string"/></rng:optional>
361             <rng:optional><rng:attribute name="col"/></rng:optional>
362             <rng:optional><rng:attribute name="select"/></rng:optional>
363             <rng:optional><rng:attribute name="orientation"/></rng:optional>
364             <rng:zeroOrMore>
365                 <rng:choice>
366                     <rng:ref name="separator"/>
367                     <rng:ref name="button"/>
368                     <rng:ref name="field"/>
369                     <rng:ref name="label" />
370                     <rng:ref name="group" />
371                     <rng:ref name="filter"/>
372                     <rng:ref name="html"/>
373                     <rng:element name="properties"><rng:empty/></rng:element>
374                     <rng:element name="newline"><rng:empty/></rng:element>
375                 </rng:choice>
376             </rng:zeroOrMore>
377         </rng:element>
378     </rng:define>
379
380     <rng:define name="xpath">
381         <rng:element name="xpath">
382             <rng:optional><rng:attribute name="expr"/></rng:optional>
383             <rng:ref name="overload"/>
384             <rng:zeroOrMore>
385                 <rng:choice>
386                     <rng:ref name="any"/>
387                     <rng:ref name="button"/>
388                     <rng:ref name="html"/>
389                 </rng:choice>
390             </rng:zeroOrMore>
391         </rng:element>
392     </rng:define>
393
394     <rng:define name="data">
395         <rng:element name="data">
396             <rng:zeroOrMore>
397                 <rng:choice>
398                     <rng:ref name="form"/>
399                     <rng:ref name="tree"/>
400                     <rng:ref name="field"/>
401                     <rng:ref name="label"/>
402                     <rng:ref name="separator"/>
403                     <rng:ref name="notebook"/>
404                     <rng:ref name="page"/>
405                     <rng:ref name="xpath"/>
406                     <rng:ref name="button"/>
407                     <rng:ref name="group"/>
408                     <rng:ref name="filter"/>
409                     <rng:ref name="graph"/>
410                     <rng:ref name="html"/>
411                     <rng:element name="newline"><rng:empty/></rng:element>
412                 </rng:choice>
413             </rng:zeroOrMore>
414         </rng:element>
415     </rng:define>
416
417     <rng:define name="field">
418         <rng:element name="field">
419             <rng:attribute name="name" />
420             <rng:ref name="overload"/>
421             <rng:ref name="access_rights"/>
422             <rng:optional><rng:attribute name="domain_filter"/></rng:optional>
423             <rng:optional><rng:attribute name="attrs"/></rng:optional>
424             <rng:optional><rng:attribute name="string"/></rng:optional>
425             <rng:optional><rng:attribute name="completion"/></rng:optional>
426             <rng:optional><rng:attribute name="width"/></rng:optional>
427             <rng:optional><rng:attribute name="type"/></rng:optional>
428             <rng:optional><rng:attribute name="ref"/></rng:optional>
429             <rng:optional><rng:attribute name="eval"/></rng:optional>
430             <rng:optional><rng:attribute name="search"/></rng:optional>
431             <rng:optional><rng:attribute name="model"/></rng:optional>
432             <rng:optional><rng:attribute name="use"/></rng:optional>
433             <rng:optional><rng:attribute name="on_change"/></rng:optional>
434             <rng:optional><rng:attribute name="domain"/></rng:optional>
435             <rng:optional><rng:attribute name="filter_domain"/></rng:optional>
436             <rng:optional><rng:attribute name="invisible"/></rng:optional>
437             <rng:optional><rng:attribute name="password"/></rng:optional>
438             <rng:optional><rng:attribute name="comparator"/></rng:optional>
439             <rng:optional><rng:attribute name="sum"/></rng:optional>
440             <rng:optional><rng:attribute name="bold"/></rng:optional>
441             <rng:optional><rng:attribute name="avg"/></rng:optional>
442             <rng:optional><rng:attribute name="select"/></rng:optional>
443             <rng:optional><rng:attribute name="group"/></rng:optional>
444             <rng:optional><rng:attribute name="operator"/></rng:optional>
445             <rng:optional><rng:attribute name="colspan"/></rng:optional>
446             <rng:optional><rng:attribute name="nolabel"/></rng:optional>
447             <rng:optional><rng:attribute name="default"/></rng:optional>
448             <rng:optional><rng:attribute name="default_get"/></rng:optional>
449             <rng:optional><rng:attribute name="required"/></rng:optional>
450             <rng:optional><rng:attribute name="readonly"/></rng:optional>
451             <rng:optional><rng:attribute name="view_mode"/></rng:optional>
452             <rng:optional><rng:attribute name="widget"/></rng:optional>
453             <rng:optional><rng:attribute name="context"/></rng:optional>
454             <rng:optional><rng:attribute name="states"/></rng:optional>
455             <rng:optional><rng:attribute name="digits"/></rng:optional>
456             <rng:optional><rng:attribute name="icon"/></rng:optional>
457             <rng:optional><rng:attribute name="mode"/></rng:optional>
458             <rng:optional><rng:attribute name="img_width"/></rng:optional>
459             <rng:optional><rng:attribute name="img_height"/></rng:optional>
460             <rng:optional><rng:attribute name="size"/></rng:optional>
461             <rng:optional><rng:attribute name="filename"/></rng:optional>
462             <rng:optional><rng:attribute name="fieldname"/></rng:optional>
463             <rng:optional><rng:attribute name="height"/></rng:optional>
464             <rng:optional><rng:attribute name="rowspan"/></rng:optional>
465             <rng:optional><rng:attribute name="align"/></rng:optional>
466             <rng:optional><rng:attribute name="selection"/></rng:optional>
467             <rng:optional><rng:attribute name="default_focus"/></rng:optional>
468             <rng:optional><rng:attribute name="filters"/></rng:optional>
469             <rng:zeroOrMore>
470                 <rng:choice>
471                     <rng:ref name="diagram"/>
472                     <rng:ref name="form"/>
473                     <rng:ref name="data"/>
474                     <rng:ref name="tree"/>
475                     <rng:ref name="field"/>
476                     <rng:ref name="label"/>
477                     <rng:ref name="separator"/>
478                     <rng:ref name="xpath"/>
479                     <rng:ref name="button"/>
480                     <rng:ref name="group"/>
481                     <rng:ref name="graph"/>
482                     <rng:ref name="filter"/>
483                     <rng:ref name="notebook"/>
484                     <rng:ref name="html"/>
485                     <rng:element name="newline"><rng:empty/></rng:element>
486                 </rng:choice>
487             </rng:zeroOrMore>
488         </rng:element>
489     </rng:define>
490
491     <rng:define name="group">
492         <rng:element name="group">
493             <rng:ref name="overload"/>
494             <rng:ref name="access_rights"/>
495             <rng:optional><rng:attribute name="attrs"/></rng:optional>
496             <rng:optional><rng:attribute name="colspan"/></rng:optional>
497             <rng:optional><rng:attribute name="rowspan"/></rng:optional>
498             <rng:optional><rng:attribute name="expand"/></rng:optional>
499             <rng:optional><rng:attribute name="states"/></rng:optional>
500             <rng:optional><rng:attribute name="string"/></rng:optional>
501             <rng:optional><rng:attribute name="fill"/></rng:optional>
502             <rng:optional><rng:attribute name="height"/></rng:optional>
503             <rng:optional><rng:attribute name="width"/></rng:optional>
504             <rng:optional><rng:attribute name="name"/></rng:optional>
505             <rng:optional><rng:attribute name="color" /></rng:optional>
506             <rng:ref name="container"/>
507         </rng:element>
508     </rng:define>
509
510     <rng:define name="calendar">
511         <rng:element name="calendar">
512             <rng:optional><rng:attribute name="string" /></rng:optional>
513             <rng:optional><rng:attribute name="color" /></rng:optional>
514             <rng:optional><rng:attribute name="date_start" /></rng:optional>
515             <rng:optional><rng:attribute name="date_stop" /></rng:optional>
516             <rng:optional><rng:attribute name="day_length" /></rng:optional>
517             <rng:optional><rng:attribute name="date_delay" /></rng:optional>
518             <rng:optional><rng:attribute name="type" /></rng:optional>
519             <rng:optional><rng:attribute name="mode" /></rng:optional>
520             <rng:oneOrMore>
521                 <rng:ref name="field"/>
522             </rng:oneOrMore>
523             <rng:zeroOrMore>
524                 <rng:ref name="html"/>
525             </rng:zeroOrMore>
526         </rng:element>
527     </rng:define>
528
529     <rng:define name="graph">
530         <rng:element name="graph">
531             <rng:optional><rng:attribute name="string" /></rng:optional>
532             <rng:optional><rng:attribute name="orientation" /></rng:optional>
533             <rng:optional><rng:attribute name="type" /></rng:optional>
534             <rng:optional><rng:attribute name="color"/></rng:optional>
535             <rng:oneOrMore>
536                 <rng:ref name="field"/>
537             </rng:oneOrMore>
538             <rng:zeroOrMore>
539                 <rng:ref name="html"/>
540             </rng:zeroOrMore>
541         </rng:element>
542     </rng:define>
543
544     <rng:define name="button">
545         <rng:element name="button">
546             <rng:ref name="overload"/>
547             <rng:ref name="access_rights"/>
548             <rng:optional><rng:attribute name="attrs"/></rng:optional>
549             <rng:optional><rng:attribute name="invisible"/></rng:optional>
550             <rng:optional><rng:attribute name="name" /></rng:optional>
551             <rng:optional><rng:attribute name="icon" /></rng:optional>
552             <rng:optional><rng:attribute name="string" /></rng:optional>
553             <rng:optional><rng:attribute name="states" /></rng:optional>
554             <rng:optional><rng:attribute name="type" /></rng:optional>
555             <rng:optional><rng:attribute name="special" /></rng:optional>
556             <rng:optional><rng:attribute name="align" /></rng:optional>
557             <rng:optional><rng:attribute name="colspan"/></rng:optional>
558             <rng:optional><rng:attribute name="target"/></rng:optional>
559             <rng:optional><rng:attribute name="readonly"/></rng:optional>
560             <rng:optional><rng:attribute name="context"/></rng:optional>
561             <rng:optional><rng:attribute name="confirm"/></rng:optional>
562             <rng:optional><rng:attribute name="help"/></rng:optional>
563             <rng:optional><rng:attribute name="default_focus"/></rng:optional>
564             <rng:zeroOrMore>
565                 <rng:choice>
566                     <rng:ref name="form" />
567                     <rng:ref name="field" />
568                     <rng:ref name="tree" />
569                     <rng:ref name="notebook" />
570                     <rng:ref name="graph" />
571                     <rng:ref name="calendar" />
572                     <rng:ref name="gantt" />
573                     <rng:ref name="xpath" />
574                     <rng:ref name="page" />
575                     <rng:ref name="separator"/>
576                     <rng:ref name="button"/>
577                     <rng:ref name="group"/>
578                     <rng:ref name="filter"/>
579                     <rng:ref name="html"/>
580                     <rng:element name="properties"><rng:empty/></rng:element>
581                     <rng:element name="newline"><rng:empty/></rng:element>
582                 </rng:choice>
583             </rng:zeroOrMore>
584
585         </rng:element>
586     </rng:define>
587
588     <rng:define name="filter">
589         <rng:element name="filter">
590             <rng:ref name="overload"/>
591             <rng:ref name="access_rights"/>
592             <rng:optional><rng:attribute name="attrs"/></rng:optional>
593             <rng:optional><rng:attribute name="name" /></rng:optional>
594             <rng:optional><rng:attribute name="separator" /></rng:optional>
595             <rng:optional><rng:attribute name="icon" /></rng:optional>
596             <rng:optional><rng:attribute name="string" /></rng:optional>
597             <rng:optional><rng:attribute name="type" /></rng:optional>
598             <rng:optional><rng:attribute name="align" /></rng:optional>
599             <rng:optional><rng:attribute name="colspan"/></rng:optional>
600             <rng:optional><rng:attribute name="readonly"/></rng:optional>
601             <rng:optional><rng:attribute name="context"/></rng:optional>
602             <rng:optional><rng:attribute name="help"/></rng:optional>
603             <rng:optional><rng:attribute name="domain"/></rng:optional>
604             <rng:optional><rng:attribute name="default"/></rng:optional>
605             <rng:zeroOrMore>
606                 <rng:choice>
607                     <rng:ref name="form" />
608                     <rng:ref name="field" />
609                     <rng:ref name="tree" />
610                     <rng:ref name="notebook" />
611                     <rng:ref name="graph" />
612                     <rng:ref name="calendar" />
613                     <rng:ref name="gantt" />
614                     <rng:ref name="xpath" />
615                     <rng:ref name="page" />
616                     <rng:ref name="separator"/>
617                     <rng:ref name="button"/>
618                     <rng:ref name="filter"/>
619                     <rng:ref name="html"/>
620                     <rng:element name="properties"><rng:empty/></rng:element>
621                     <rng:element name="newline"><rng:empty/></rng:element>
622                 </rng:choice>
623             </rng:zeroOrMore>
624
625         </rng:element>
626     </rng:define>
627
628     <rng:start>
629         <rng:choice>
630             <rng:ref name="diagram" />
631             <rng:ref name="form" />
632             <rng:ref name="search" />
633             <rng:ref name="group" />
634             <rng:ref name="field" />
635             <rng:ref name="tree" />
636             <rng:ref name="notebook" />
637             <rng:ref name="graph" />
638             <rng:ref name="calendar" />
639             <rng:ref name="data" />
640             <rng:ref name="gantt" />
641             <rng:ref name="xpath" />
642             <rng:ref name="page" />
643             <rng:ref name="separator"/>
644             <rng:ref name="button"/>
645             <rng:ref name="filter"/>
646             <rng:ref name="label" />
647             <rng:ref name="html"/>
648         </rng:choice>
649     </rng:start>
650 </rng:grammar>