1 <?xml version=
"1.0" encoding=
"utf-8"?>
2 <grammar xmlns=
"http://relaxng.org/ns/structure/1.0"
3 ns=
"http://enkel.sourceforge.net/xml/form">
6 <define name=
"id-attribute">
12 <define name=
"field-common">
14 <ref name=
"id-attribute"/>
15 <attribute name=
"required">
21 <attribute name=
"typehint">
24 <element name=
"label">
27 <element name=
"tooltip">
31 <element name=
"error">
41 Simple fields (with only one value)
44 <define name=
"simple-field-common">
46 <ref name=
"field-common"/>
47 <element name=
"value">
53 <define name=
"string-element">
54 <element name=
"string">
55 <ref name=
"simple-field-common"/>
59 <define name=
"longstring-element">
60 <element name=
"longstring">
61 <ref name=
"simple-field-common"/>
65 <define name=
"bool-element">
67 <ref name=
"simple-field-common"/>
71 <define name=
"int-element">
73 <ref name=
"simple-field-common"/>
77 <define name=
"long-element">
79 <ref name=
"simple-field-common"/>
83 <define name=
"date-element">
85 <ref name=
"simple-field-common"/>
89 <define name=
"datetime-element">
90 <element name=
"datetime">
91 <ref name=
"simple-field-common"/>
95 <define name=
"time-element">
97 <ref name=
"simple-field-common"/>
101 <define name=
"float-element">
102 <element name=
"float">
103 <ref name=
"simple-field-common"/>
107 <define name=
"text-element">
108 <element name=
"text">
109 <ref name=
"simple-field-common"/>
113 <define name=
"readonly-element">
114 <element name=
"readonly">
115 <ref name=
"simple-field-common"/>
119 <define name=
"hidden-element">
120 <element name=
"hidden">
121 <ref name=
"id-attribute"/>
132 <define name=
"item-common">
133 <attribute name=
"value">
139 <define name=
"item-element">
140 <element name=
"item">
141 <ref name=
"item-common"/>
145 <define name=
"sel_item-element">
146 <element name=
"sel_item">
147 <ref name=
"item-common"/>
151 <define name=
"one-element">
154 <ref name=
"field-common"/>
155 <element name=
"onevalue">
158 <ref name=
"sel_item-element"/>
160 <zeroOrMore><ref name=
"item-element"/></zeroOrMore>
167 <define name=
"many-element">
168 <element name=
"many">
170 <ref name=
"field-common"/>
171 <element name=
"manyvalue">
173 <zeroOrMore><ref name=
"sel_item-element"/></zeroOrMore>
174 <zeroOrMore><ref name=
"item-element"/></zeroOrMore>
183 <define name=
"group-element">
184 <element name=
"group">
185 <attribute name=
"title">
188 <ref name=
"field-elements"/>
192 <define name=
"field-elements">
194 <zeroOrMore><ref name=
"string-element"/></zeroOrMore>
195 <zeroOrMore><ref name=
"longstring-element"/></zeroOrMore>
196 <zeroOrMore><ref name=
"bool-element"/></zeroOrMore>
197 <zeroOrMore><ref name=
"int-element"/></zeroOrMore>
198 <zeroOrMore><ref name=
"float-element"/></zeroOrMore>
199 <zeroOrMore><ref name=
"long-element"/></zeroOrMore>
200 <zeroOrMore><ref name=
"text-element"/></zeroOrMore>
201 <zeroOrMore><ref name=
"date-element"/></zeroOrMore>
202 <zeroOrMore><ref name=
"datetime-element"/></zeroOrMore>
203 <zeroOrMore><ref name=
"time-element"/></zeroOrMore>
204 <zeroOrMore><ref name=
"readonly-element"/></zeroOrMore>
205 <zeroOrMore><ref name=
"hidden-element"/></zeroOrMore>
206 <zeroOrMore><ref name=
"one-element"/></zeroOrMore>
207 <zeroOrMore><ref name=
"many-element"/></zeroOrMore>
208 <zeroOrMore><ref name=
"group-element"/></zeroOrMore>
212 <define name=
"form-element">
213 <element name=
"form">
214 <attribute name=
"action">
217 <attribute name=
"submit_label">
220 <attribute name=
"method">
224 <value>multipart
</value>
228 <attribute name=
"id">
232 <ref name=
"field-elements"/>