]> git.argeo.org Git - gpl/argeo-suite.git/blob - knowledge/org.argeo.support.xforms/xsd/XForms-Schema.xsd
Merge remote-tracking branch 'origin/master' into v2.x
[gpl/argeo-suite.git] / knowledge / org.argeo.support.xforms / xsd / XForms-Schema.xsd
1 <xsd:schema targetNamespace="http://www.w3.org/2002/xforms" xmlns:ev="http://www.w3.org/2001/xml-events" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xforms="http://www.w3.org/2002/xforms" elementFormDefault="qualified">
2 <!--
3 Changes:
4 26-Aug MJD fixed typo where more than one child allowed on <instance>
5 04-Sep MJD fixed typo on <send> : attribute 'submission' is required
6 04-Sep MJD fixed typo on <rebuild><recalculate><revalidate><refresh>: 'model' attribute is required
7 06-Sep MJD clarified specific allowed values of @level on <message>
8 06-Sep MJD removed UI Common attributes from <help><hint><alert><label>
9 09-Sep MJD changed minOccurrs and maxOccurs to use XPath expressions, default values
10 09-Sep MJD fixed typo: added linking attributes to <message>
11 09-Sep MJD removed <extension> from content models of <mode> and UI common elements
12 09-Sep MJD fixed typo: removed 'format' attribute
13 17-Sep MJD fixed typo: <output> now uses the attribute group for binding attributes, instead of similarly named individual attrs
14 17-Sep MJD added XPathExpression simpleType for internal use. This doesn't actually change anything, but makes
15 the Schema a better documentation resource (instead of using xsd:string for everything)
16 17-Sep MJD removed 'mediatype' attribute from <submission>, as it was unused
17 17-Sep MJD fixed typo: only 'ref' and 'bind' attributes, not 'model' on <submission>
18 17-Sep MJD added XML Events attributes to <model>
19 17-Sep MJD in accordance with 3.2.1, removed all id attributes
20 19-Sep MJD fixed typo: clarified that nested <action>s are permitted.
21 19-Sep MJD factor UI.Inline into <group>. Renamed <group>s and <attributeGroup>s to match the prose names
22 19-Sep MJD changed to agreed-upon namespace for CR
23 25-Sep MJD fixed typo: added UI.Inlne to content model of <message>, enabled mixed content
24 29-Sep MJD fixed typo: 'model' required on <reset>
25 29-Sep MJD fixed typo: binding attributes allowed on <submit>
26 29-Sep MJD fixed typo: explicit enumerated values for 'show' on <load>
27 04-Oct MJD 'resource' attribute not required
28
29 12-Nov 2002 : Published as CR
30
31 13-Jan MJD added new attribute includenamespaceprefixes on <submission>
32 13-Jan MJD added UI Common elements to content model of <group>
33 03-Feb MJD synchoninzed duration types with 15 Nov Query Operators document
34 31-Mar MJD added mediatype attribute on <submission>
35 14-May MJD typo : "xsd:NCName"
36 26-Jun MJD removed 'accesskey' and 'navindex' (over to host language definition)
37
38 01-Aug 2003 : Published as PR
39
40 15-Sep MJD final namespace
41 15-Sep MJD corrected content model of <value>
42 15-Sep MJD changed the name of the import for XML Events to highlight that only the attributes are used
43
44 1.0 Second Edition errata
45
46 16-Apr 2005 RAM - erratum E4 - optional @model
47 16-Apr 2005 RAM - erratum E22 - default value for @show
48 16-Apr 2005 RAM - erratum E54 - remove xforms:minOccurs and xforms:maxOccurs
49 26-Jun 2005 RAM - erratum E71 - allow an empty case element
50
51 16-Jun 2006 JMB - erratum E69 - instance attribute in submission; id in common attributes
52
53 15-Aug-2006 CFW - erratum E18 on 2nd ed. Added Action to content model for Case
54
55 09-Sep 2006 JMB - non-substantive: explicitly declared some use="optional" settings,
56 substantive: erratum E18 on 2nd ed. Declared default false for selected attribute of case
57 substantive: erratum E21 on 2nd ed. Added multipart-post to enumeration of method attribute
58 23-Nov 2006 JMB - substantive: erratum E32 on 2nd ed. switch in repeat
59 17-Jul 2007 JMB - substantive: erratum E41 on 2nd ed. version attribute and associated simple types
60 -->
61 <xsd:import namespace="http://www.w3.org/2001/xml-events" schemaLocation="http://www.w3.org/MarkUp/SCHEMA/xml-events-attribs-1.xsd"/>
62 <xsd:import namespace="http://www.w3.org/2001/XMLSchema" schemaLocation="http://www.w3.org/2001/XMLSchema.xsd"/>
63 <!--
64 structural elements
65 -->
66 <xsd:attributeGroup name="Common.Attributes">
67 <xsd:annotation>
68 <xsd:documentation>Attributes for _every_ element in XForms</xsd:documentation>
69 </xsd:annotation>
70 <xsd:attribute name="id" type="xsd:ID" use="optional"/>
71 <xsd:anyAttribute namespace="##other"/>
72 </xsd:attributeGroup>
73 <xsd:element name="model">
74 <xsd:complexType>
75 <xsd:sequence minOccurs="0" maxOccurs="unbounded">
76 <xsd:choice>
77 <xsd:element ref="xforms:instance"/>
78 <xsd:element ref="xsd:schema"/>
79 <xsd:element ref="xforms:submission"/>
80 <xsd:element ref="xforms:bind"/>
81 <xsd:group ref="xforms:Action"/>
82 </xsd:choice>
83 </xsd:sequence>
84 <xsd:attributeGroup ref="xforms:Common.Attributes"/>
85 <xsd:attributeGroup ref="xforms:XML.Events"/>
86 <xsd:attribute name="functions" type="xforms:QNameList" use="optional"/>
87 <xsd:attribute name="schema" type="xforms:anyURIList" use="optional"/>
88 <xsd:attribute name="version" type="xforms:versionList" use="optional"/>
89 </xsd:complexType>
90 </xsd:element>
91 <xsd:element name="instance">
92 <xsd:annotation>
93 <xsd:documentation>instance container.</xsd:documentation>
94 </xsd:annotation>
95 <xsd:complexType>
96 <xsd:sequence>
97 <xsd:any namespace="##any" processContents="skip" minOccurs="0"/>
98 </xsd:sequence>
99 <xsd:attributeGroup ref="xforms:Common.Attributes"/>
100 <xsd:attributeGroup ref="xforms:Linking.Attributes"/>
101 </xsd:complexType>
102 </xsd:element>
103 <xsd:element name="submission">
104 <xsd:annotation>
105 <xsd:documentation>submit info container.</xsd:documentation>
106 </xsd:annotation>
107 <xsd:complexType>
108 <xsd:sequence minOccurs="0" maxOccurs="unbounded">
109 <xsd:group ref="xforms:Action"/>
110 </xsd:sequence>
111
112 <xsd:attributeGroup ref="xforms:Common.Attributes"/>
113
114 <xsd:attribute name="ref" type="xforms:XPathExpression" use="optional"/>
115 <xsd:attribute name="bind" type="xsd:IDREF" use="optional"/>
116 <xsd:attribute name="action" type="xsd:anyURI" use="optional"/>
117
118 <xsd:attribute name="method" use="required">
119 <xsd:simpleType>
120 <xsd:union memberTypes="xforms:QNameButNotNCNAME">
121 <xsd:simpleType>
122 <xsd:restriction base="xsd:string">
123 <xsd:enumeration value="post"/>
124 <xsd:enumeration value="put"/>
125 <xsd:enumeration value="get"/>
126 <xsd:enumeration value="multipart-post"/>
127 <xsd:enumeration value="form-data-post"/>
128 <xsd:enumeration value="urlencoded-post"/>
129 </xsd:restriction>
130 </xsd:simpleType>
131 </xsd:union>
132 </xsd:simpleType>
133 </xsd:attribute>
134
135 <xsd:attribute name="version" type="xsd:NMTOKEN" use="optional"/>
136 <xsd:attribute name="indent" type="xsd:boolean" use="optional"/>
137 <xsd:attribute name="mediatype" type="xsd:string" use="optional"/>
138 <xsd:attribute name="encoding" type="xsd:string" use="optional"/>
139 <xsd:attribute name="omit-xml-declaration" type="xsd:boolean" use="optional"/>
140 <xsd:attribute name="standalone" type="xsd:boolean" use="optional"/>
141 <xsd:attribute name="cdata-section-elements" type="xforms:QNameList" use="optional"/>
142
143 <xsd:attribute name="replace" use="optional" default="all">
144 <xsd:simpleType>
145 <xsd:union memberTypes="xforms:QNameButNotNCNAME">
146 <xsd:simpleType>
147 <xsd:restriction base="xsd:string">
148 <xsd:enumeration value="all"/>
149 <xsd:enumeration value="instance"/>
150 <xsd:enumeration value="none"/>
151 </xsd:restriction>
152 </xsd:simpleType>
153 </xsd:union>
154 </xsd:simpleType>
155 </xsd:attribute>
156
157 <xsd:attribute name="instance" type="xsd:IDREF" use="optional"/>
158
159 <xsd:attribute name="separator" use="optional" default=";">
160 <xsd:simpleType>
161 <xsd:restriction base="xsd:string">
162 <xsd:enumeration value=";"/>
163 <xsd:enumeration value="&amp;"/>
164 </xsd:restriction>
165 </xsd:simpleType>
166 </xsd:attribute>
167
168 <xsd:attribute name="includenamespaceprefixes" use="optional">
169 <xsd:simpleType>
170 <xsd:list>
171 <xsd:simpleType>
172 <xsd:union>
173 <xsd:simpleType>
174 <xsd:restriction base='xsd:NCName'/>
175 </xsd:simpleType>
176 <xsd:simpleType>
177 <xsd:restriction base='xsd:string'>
178 <xsd:enumeration value='#default'/>
179 </xsd:restriction>
180 </xsd:simpleType>
181 </xsd:union>
182 </xsd:simpleType>
183 </xsd:list>
184 </xsd:simpleType>
185 </xsd:attribute>
186
187 </xsd:complexType>
188 </xsd:element>
189
190 <xsd:attributeGroup name="Linking.Attributes">
191 <xsd:attribute name="src" type="xsd:anyURI"/>
192 </xsd:attributeGroup>
193 <xsd:element name="bind">
194 <xsd:annotation>
195 <xsd:documentation>Definition of bind container.</xsd:documentation>
196 </xsd:annotation>
197 <xsd:complexType>
198 <xsd:sequence minOccurs="0" maxOccurs="unbounded">
199 <xsd:element ref="xforms:bind"/>
200 </xsd:sequence>
201 <xsd:attributeGroup ref="xforms:Common.Attributes"/>
202 <xsd:attribute name="nodeset" type="xforms:XPathExpression" use="optional"/>
203 <xsd:attribute name="type" type="xsd:QName" use="optional"/>
204 <xsd:attribute name="readonly" type="xforms:XPathExpression" use="optional"/>
205 <xsd:attribute name="required" type="xforms:XPathExpression" use="optional"/>
206 <xsd:attribute name="relevant" type="xforms:XPathExpression" use="optional"/>
207 <xsd:attribute name="constraint" type="xforms:XPathExpression" use="optional"/>
208 <xsd:attribute name="calculate" type="xforms:XPathExpression" use="optional"/>
209 <xsd:attribute name="p3ptype" type="xsd:string" use="optional"/>
210 <!-- E54 -->
211 </xsd:complexType>
212 </xsd:element>
213 <!--
214 User Interface form controls
215 -->
216 <xsd:group name="Form.Controls">
217 <xsd:choice>
218 <xsd:element ref="xforms:input"/>
219 <xsd:element ref="xforms:textarea"/>
220 <xsd:element ref="xforms:secret"/>
221 <xsd:element ref="xforms:output"/>
222 <xsd:element ref="xforms:upload"/>
223 <xsd:element ref="xforms:select1"/>
224 <xsd:element ref="xforms:select"/>
225 <xsd:element ref="xforms:range"/>
226 <xsd:element ref="xforms:submit"/>
227 <xsd:element ref="xforms:trigger"/>
228 </xsd:choice>
229 </xsd:group>
230 <xsd:attributeGroup name="Single.Node.Binding.Attributes">
231 <xsd:attribute name="model" type="xsd:IDREF" use="optional"/>
232 <xsd:attribute name="ref" type="xforms:XPathExpression" use="optional"/>
233 <xsd:attribute name="bind" type="xsd:IDREF" use="optional"/>
234 </xsd:attributeGroup>
235 <xsd:attributeGroup name="Nodeset.Binding.Attributes">
236 <xsd:attribute name="model" type="xsd:IDREF" use="optional"/>
237 <xsd:attribute name="nodeset" type="xforms:XPathExpression" use="optional"/>
238 <xsd:attribute name="bind" type="xsd:IDREF" use="optional"/>
239 </xsd:attributeGroup>
240 <xsd:attributeGroup name="UI.Common.Attrs">
241 <xsd:attribute name="appearance" type="xforms:appearanceType" use="optional"/>
242 </xsd:attributeGroup>
243 <xsd:group name="UI.Inline">
244 <xsd:sequence>
245 <xsd:choice minOccurs="0">
246 <xsd:element ref="xforms:output"/>
247 <!-- containing document language to add additional allowed content here -->
248 </xsd:choice>
249 </xsd:sequence>
250 </xsd:group>
251 <xsd:element name="label">
252 <xsd:complexType mixed="true">
253 <xsd:group ref="xforms:UI.Inline"/>
254 <xsd:attributeGroup ref="xforms:Common.Attributes"/>
255 <xsd:attributeGroup ref="xforms:Single.Node.Binding.Attributes"/>
256 <xsd:attributeGroup ref="xforms:Linking.Attributes"/>
257 </xsd:complexType>
258 </xsd:element>
259 <xsd:element name="hint">
260 <xsd:complexType mixed="true">
261 <xsd:group ref="xforms:UI.Inline"/>
262 <xsd:attributeGroup ref="xforms:Common.Attributes"/>
263 <xsd:attributeGroup ref="xforms:Single.Node.Binding.Attributes"/>
264 <xsd:attributeGroup ref="xforms:Linking.Attributes"/>
265 </xsd:complexType>
266 </xsd:element>
267 <xsd:element name="help">
268 <xsd:complexType mixed="true">
269 <xsd:group ref="xforms:UI.Inline"/>
270 <xsd:attributeGroup ref="xforms:Common.Attributes"/>
271 <xsd:attributeGroup ref="xforms:Single.Node.Binding.Attributes"/>
272 <xsd:attributeGroup ref="xforms:Linking.Attributes"/>
273 </xsd:complexType>
274 </xsd:element>
275 <xsd:element name="alert">
276 <xsd:complexType mixed="true">
277 <xsd:group ref="xforms:UI.Inline"/>
278 <xsd:attributeGroup ref="xforms:Common.Attributes"/>
279 <xsd:attributeGroup ref="xforms:Single.Node.Binding.Attributes"/>
280 <xsd:attributeGroup ref="xforms:Linking.Attributes"/>
281 </xsd:complexType>
282 </xsd:element>
283 <xsd:element name="extension">
284 <xsd:complexType>
285 <xsd:sequence>
286 <xsd:any namespace="##other"/>
287 </xsd:sequence>
288 <xsd:attributeGroup ref="xforms:Common.Attributes"/>
289 </xsd:complexType>
290 </xsd:element>
291 <xsd:element name="choices">
292 <xsd:complexType>
293 <xsd:sequence>
294 <xsd:element ref="xforms:label" minOccurs="0"/>
295 <xsd:sequence maxOccurs="unbounded">
296 <xsd:choice>
297 <xsd:element ref="xforms:choices"/>
298 <xsd:element ref="xforms:item"/>
299 <xsd:element ref="xforms:itemset"/>
300 </xsd:choice>
301 </xsd:sequence>
302 </xsd:sequence>
303 <xsd:attributeGroup ref="xforms:Common.Attributes"/>
304 </xsd:complexType>
305 </xsd:element>
306 <xsd:element name="value">
307 <xsd:complexType mixed="true">
308 <xsd:sequence>
309 <xsd:any namespace="##any" processContents="skip" minOccurs="0" maxOccurs="unbounded"/>
310 </xsd:sequence>
311 <xsd:attributeGroup ref="xforms:Common.Attributes"/>
312 <xsd:attributeGroup ref="xforms:Single.Node.Binding.Attributes"/>
313 </xsd:complexType>
314 </xsd:element>
315 <xsd:element name="item">
316 <xsd:complexType>
317 <xsd:sequence>
318 <xsd:element ref="xforms:label"/>
319 <xsd:element ref="xforms:value"/>
320 <xsd:group ref="xforms:UI.Common" minOccurs="0" maxOccurs="unbounded"/>
321 </xsd:sequence>
322 <xsd:attributeGroup ref="xforms:Common.Attributes"/>
323 </xsd:complexType>
324 </xsd:element>
325 <xsd:element name="itemset">
326 <xsd:complexType>
327 <xsd:sequence>
328 <xsd:element ref="xforms:label"/>
329 <xsd:choice>
330 <xsd:element ref="xforms:value"/>
331 <xsd:element ref="xforms:copy"/>
332 </xsd:choice>
333 <xsd:group ref="xforms:UI.Common" minOccurs="0" maxOccurs="unbounded"/>
334 </xsd:sequence>
335 <xsd:attributeGroup ref="xforms:Common.Attributes"/>
336 <xsd:attributeGroup ref="xforms:Nodeset.Binding.Attributes"/>
337 </xsd:complexType>
338 </xsd:element>
339 <xsd:element name="copy">
340 <xsd:complexType>
341 <xsd:attributeGroup ref="xforms:Common.Attributes"/>
342 <xsd:attributeGroup ref="xforms:Single.Node.Binding.Attributes"/>
343 </xsd:complexType>
344 </xsd:element>
345 <xsd:element name="filename">
346 <xsd:complexType>
347 <xsd:attributeGroup ref="xforms:Common.Attributes"/>
348 <xsd:attributeGroup ref="xforms:Single.Node.Binding.Attributes"/>
349 </xsd:complexType>
350 </xsd:element>
351 <xsd:element name="mediatype">
352 <xsd:complexType>
353 <xsd:attributeGroup ref="xforms:Common.Attributes"/>
354 <xsd:attributeGroup ref="xforms:Single.Node.Binding.Attributes"/>
355 </xsd:complexType>
356 </xsd:element>
357 <xsd:group name="UI.Common">
358 <xsd:sequence>
359 <xsd:choice minOccurs="0" maxOccurs="unbounded">
360 <xsd:element ref="xforms:help"/>
361 <xsd:element ref="xforms:hint"/>
362 <xsd:element ref="xforms:alert"/>
363 <xsd:group ref="xforms:Action"/>
364 </xsd:choice>
365 </xsd:sequence>
366 </xsd:group>
367 <xsd:element name="input">
368 <xsd:complexType>
369 <xsd:sequence>
370 <xsd:element ref="xforms:label"/>
371 <xsd:group ref="xforms:UI.Common" minOccurs="0" maxOccurs="unbounded"/>
372 </xsd:sequence>
373 <xsd:attributeGroup ref="xforms:Common.Attributes"/>
374 <xsd:attributeGroup ref="xforms:Single.Node.Binding.Attributes"/>
375 <xsd:attribute name="inputmode" type="xsd:string" use="optional"/>
376 <xsd:attributeGroup ref="xforms:UI.Common.Attrs"/>
377 <xsd:attribute name="incremental" type="xsd:boolean" use="optional" default="false"/>
378 </xsd:complexType>
379 </xsd:element>
380 <xsd:element name="textarea">
381 <xsd:complexType>
382 <xsd:sequence>
383 <xsd:element ref="xforms:label"/>
384 <xsd:group ref="xforms:UI.Common" minOccurs="0" maxOccurs="unbounded"/>
385 </xsd:sequence>
386 <xsd:attributeGroup ref="xforms:Common.Attributes"/>
387 <xsd:attributeGroup ref="xforms:Single.Node.Binding.Attributes"/>
388 <xsd:attribute name="inputmode" type="xsd:string" use="optional"/>
389 <xsd:attributeGroup ref="xforms:UI.Common.Attrs"/>
390 <xsd:attribute name="incremental" type="xsd:boolean" use="optional" default="false"/>
391 </xsd:complexType>
392 </xsd:element>
393 <xsd:element name="secret">
394 <xsd:complexType>
395 <xsd:sequence>
396 <xsd:element ref="xforms:label"/>
397 <xsd:group ref="xforms:UI.Common" minOccurs="0" maxOccurs="unbounded"/>
398 </xsd:sequence>
399 <xsd:attributeGroup ref="xforms:Common.Attributes"/>
400 <xsd:attributeGroup ref="xforms:Single.Node.Binding.Attributes"/>
401 <xsd:attribute name="inputmode" type="xsd:string" use="optional"/>
402 <xsd:attributeGroup ref="xforms:UI.Common.Attrs"/>
403 <xsd:attribute name="incremental" type="xsd:boolean" use="optional" default="false"/>
404 </xsd:complexType>
405 </xsd:element>
406 <xsd:element name="upload">
407 <xsd:complexType>
408 <xsd:sequence>
409 <xsd:element ref="xforms:label"/>
410 <xsd:element ref="xforms:filename" minOccurs="0"/>
411 <xsd:element ref="xforms:mediatype" minOccurs="0"/>
412 <xsd:group ref="xforms:UI.Common" minOccurs="0" maxOccurs="unbounded"/>
413 </xsd:sequence>
414 <xsd:attributeGroup ref="xforms:Common.Attributes"/>
415 <xsd:attributeGroup ref="xforms:Single.Node.Binding.Attributes"/>
416 <xsd:attributeGroup ref="xforms:UI.Common.Attrs"/>
417 <xsd:attribute name="mediatype" type="xsd:string" use="optional"/>
418 <xsd:attribute name="incremental" type="xsd:boolean" use="optional" default="false"/>
419 </xsd:complexType>
420 </xsd:element>
421 <xsd:group name="List.UI.Common">
422 <xsd:sequence>
423 <xsd:choice>
424 <xsd:element ref="xforms:item"/>
425 <xsd:element ref="xforms:itemset"/>
426 <xsd:element ref="xforms:choices"/>
427 </xsd:choice>
428 </xsd:sequence>
429 </xsd:group>
430 <xsd:element name="select1">
431 <xsd:complexType>
432 <xsd:sequence>
433 <xsd:element ref="xforms:label"/>
434 <xsd:group ref="xforms:List.UI.Common" maxOccurs="unbounded"/>
435 <xsd:group ref="xforms:UI.Common" minOccurs="0" maxOccurs="unbounded"/>
436 </xsd:sequence>
437 <xsd:attributeGroup ref="xforms:Common.Attributes"/>
438 <xsd:attributeGroup ref="xforms:Single.Node.Binding.Attributes"/>
439 <xsd:attributeGroup ref="xforms:UI.Common.Attrs"/>
440 <xsd:attribute name="selection" use="optional" default="closed">
441 <xsd:simpleType>
442 <xsd:restriction base="xsd:string">
443 <xsd:enumeration value="open"/>
444 <xsd:enumeration value="closed"/>
445 </xsd:restriction>
446 </xsd:simpleType>
447 </xsd:attribute>
448 <xsd:attribute name="incremental" type="xsd:boolean" use="optional" default="true"/>
449 </xsd:complexType>
450 </xsd:element>
451 <xsd:element name="select">
452 <xsd:complexType>
453 <xsd:sequence>
454 <xsd:element ref="xforms:label"/>
455 <xsd:group ref="xforms:List.UI.Common" maxOccurs="unbounded"/>
456 <xsd:group ref="xforms:UI.Common" minOccurs="0" maxOccurs="unbounded"/>
457 </xsd:sequence>
458 <xsd:attributeGroup ref="xforms:Common.Attributes"/>
459 <xsd:attributeGroup ref="xforms:Single.Node.Binding.Attributes"/>
460 <xsd:attributeGroup ref="xforms:UI.Common.Attrs"/>
461 <xsd:attribute name="selection" use="optional" default="closed">
462 <xsd:simpleType>
463 <xsd:restriction base="xsd:string">
464 <xsd:enumeration value="open"/>
465 <xsd:enumeration value="closed"/>
466 </xsd:restriction>
467 </xsd:simpleType>
468 </xsd:attribute>
469 <xsd:attribute name="incremental" type="xsd:boolean" use="optional" default="true"/>
470 </xsd:complexType>
471 </xsd:element>
472 <xsd:element name="range">
473 <xsd:complexType>
474 <xsd:sequence>
475 <xsd:element ref="xforms:label"/>
476 <xsd:group ref="xforms:UI.Common" minOccurs="0" maxOccurs="unbounded"/>
477 </xsd:sequence>
478 <xsd:attributeGroup ref="xforms:Common.Attributes"/>
479 <xsd:attributeGroup ref="xforms:Single.Node.Binding.Attributes"/>
480 <xsd:attributeGroup ref="xforms:UI.Common.Attrs"/>
481 <xsd:attribute name="start" type="xsd:string" use="optional"/>
482 <xsd:attribute name="end" type="xsd:string" use="optional"/>
483 <xsd:attribute name="step" type="xsd:string" use="optional"/>
484 <xsd:attribute name="incremental" type="xsd:boolean" use="optional" default="false"/>
485 </xsd:complexType>
486 </xsd:element>
487 <xsd:element name="trigger">
488 <xsd:complexType>
489 <xsd:sequence>
490 <xsd:element ref="xforms:label"/>
491 <xsd:group ref="xforms:UI.Common" minOccurs="0" maxOccurs="unbounded"/>
492 </xsd:sequence>
493 <xsd:attributeGroup ref="xforms:Common.Attributes"/>
494 <xsd:attributeGroup ref="xforms:Single.Node.Binding.Attributes"/>
495 <xsd:attributeGroup ref="xforms:UI.Common.Attrs"/>
496 </xsd:complexType>
497 </xsd:element>
498 <xsd:element name="output">
499 <xsd:complexType>
500 <xsd:sequence minOccurs="0">
501 <xsd:element ref="xforms:label"/>
502 </xsd:sequence>
503 <xsd:attributeGroup ref="xforms:Common.Attributes"/>
504 <xsd:attributeGroup ref="xforms:Single.Node.Binding.Attributes"/>
505 <xsd:attribute name="appearance" type="xforms:appearanceType" use="optional"/>
506 <xsd:attribute name="value" type="xforms:XPathExpression" use="optional"/>
507 </xsd:complexType>
508 </xsd:element>
509 <xsd:element name="submit">
510 <xsd:complexType>
511 <xsd:sequence>
512 <xsd:element ref="xforms:label"/>
513 <xsd:group ref="xforms:UI.Common" minOccurs="0" maxOccurs="unbounded"/>
514 </xsd:sequence>
515 <xsd:attributeGroup ref="xforms:Common.Attributes"/>
516 <xsd:attribute name="submission" type="xsd:IDREF" use="required"/>
517 <xsd:attributeGroup ref="xforms:Single.Node.Binding.Attributes"/>
518 <xsd:attributeGroup ref="xforms:UI.Common.Attrs"/>
519 </xsd:complexType>
520 </xsd:element>
521 <!--
522 XForms Actions
523 -->
524 <xsd:attributeGroup name="XML.Events">
525 <xsd:attribute ref="ev:event"/>
526 <xsd:attribute ref="ev:observer"/>
527 <xsd:attribute ref="ev:target"/>
528 <xsd:attribute ref="ev:handler"/>
529 <xsd:attribute ref="ev:phase"/>
530 <xsd:attribute ref="ev:propagate"/>
531 <xsd:attribute ref="ev:defaultAction"/>
532 </xsd:attributeGroup>
533 <xsd:group name="Action">
534 <xsd:sequence>
535 <xsd:choice minOccurs="0" maxOccurs="unbounded">
536 <xsd:element ref="xforms:action"/>
537 <xsd:element ref="xforms:dispatch"/>
538 <xsd:element ref="xforms:rebuild"/>
539 <xsd:element ref="xforms:recalculate"/>
540 <xsd:element ref="xforms:revalidate"/>
541 <xsd:element ref="xforms:refresh"/>
542 <xsd:element ref="xforms:setfocus"/>
543 <xsd:element ref="xforms:load"/>
544 <xsd:element ref="xforms:setvalue"/>
545 <xsd:element ref="xforms:send"/>
546 <xsd:element ref="xforms:reset"/>
547 <xsd:element ref="xforms:insert"/>
548 <xsd:element ref="xforms:delete"/>
549 <xsd:element ref="xforms:setindex"/>
550 <xsd:element ref="xforms:toggle"/>
551 <xsd:element ref="xforms:message"/>
552 </xsd:choice>
553 </xsd:sequence>
554 </xsd:group>
555 <xsd:element name="action">
556 <xsd:complexType>
557 <xsd:sequence maxOccurs="unbounded">
558 <xsd:group ref="xforms:Action"/>
559 </xsd:sequence>
560 <xsd:attributeGroup ref="xforms:Common.Attributes"/>
561 <xsd:attributeGroup ref="xforms:XML.Events"/>
562 </xsd:complexType>
563 </xsd:element>
564 <xsd:element name="dispatch">
565 <xsd:complexType>
566 <xsd:attributeGroup ref="xforms:Common.Attributes"/>
567 <xsd:attribute name="name" type="xsd:NMTOKEN" use="required"/>
568 <xsd:attribute name="target" type="xsd:IDREF" use="required"/>
569 <xsd:attribute name="bubbles" type="xsd:boolean" use="optional" default="true"/>
570 <xsd:attribute name="cancelable" type="xsd:boolean" use="optional" default="true"/>
571 <xsd:attributeGroup ref="xforms:XML.Events"/>
572 </xsd:complexType>
573 </xsd:element>
574 <xsd:element name="rebuild">
575 <xsd:complexType>
576 <xsd:attributeGroup ref="xforms:Common.Attributes"/>
577 <xsd:attribute name="model" type="xsd:IDREF" use="optional"/>
578 <xsd:attributeGroup ref="xforms:XML.Events"/>
579 <!-- E4 -->
580 </xsd:complexType>
581 </xsd:element>
582 <xsd:element name="revalidate">
583 <xsd:complexType>
584 <xsd:attributeGroup ref="xforms:Common.Attributes"/>
585 <xsd:attribute name="model" type="xsd:IDREF" use="optional"/>
586 <xsd:attributeGroup ref="xforms:XML.Events"/>
587 <!-- E4 -->
588 </xsd:complexType>
589 </xsd:element>
590 <xsd:element name="recalculate">
591 <xsd:complexType>
592 <xsd:attributeGroup ref="xforms:Common.Attributes"/>
593 <xsd:attribute name="model" type="xsd:IDREF" use="optional"/>
594 <xsd:attributeGroup ref="xforms:XML.Events"/>
595 <!-- E4 -->
596 </xsd:complexType>
597 </xsd:element>
598 <xsd:element name="refresh">
599 <xsd:complexType>
600 <xsd:attributeGroup ref="xforms:Common.Attributes"/>
601 <xsd:attribute name="model" type="xsd:IDREF" use="optional"/>
602 <xsd:attributeGroup ref="xforms:XML.Events"/>
603 <!-- E4 -->
604 </xsd:complexType>
605 </xsd:element>
606 <xsd:element name="setfocus">
607 <xsd:complexType>
608 <xsd:attributeGroup ref="xforms:Common.Attributes"/>
609 <xsd:attribute name="control" type="xsd:IDREF" use="required"/>
610 <xsd:attributeGroup ref="xforms:XML.Events"/>
611 </xsd:complexType>
612 </xsd:element>
613 <xsd:element name="load">
614 <xsd:complexType>
615 <xsd:attributeGroup ref="xforms:Common.Attributes"/>
616 <xsd:attributeGroup ref="xforms:Single.Node.Binding.Attributes"/>
617 <xsd:attribute name="resource" type="xsd:anyURI"/>
618 <xsd:attribute name="show" use="optional" default="replace">
619 <xsd:simpleType>
620 <xsd:restriction base="xsd:string">
621 <xsd:enumeration value="new"/>
622 <xsd:enumeration value="replace"/>
623 </xsd:restriction>
624 </xsd:simpleType>
625 <!-- E22 -->
626 </xsd:attribute>
627 <xsd:attributeGroup ref="xforms:XML.Events"/>
628 </xsd:complexType>
629 </xsd:element>
630 <xsd:element name="setvalue">
631 <xsd:complexType>
632 <xsd:simpleContent>
633 <xsd:extension base="xsd:string">
634 <xsd:attributeGroup ref="xforms:Common.Attributes"/>
635 <xsd:attributeGroup ref="xforms:Single.Node.Binding.Attributes"/>
636 <xsd:attribute name="value" type="xforms:XPathExpression" use="optional"/>
637 <xsd:attributeGroup ref="xforms:XML.Events"/>
638 </xsd:extension>
639 </xsd:simpleContent>
640 </xsd:complexType>
641 </xsd:element>
642 <xsd:element name="send">
643 <xsd:complexType>
644 <xsd:attributeGroup ref="xforms:Common.Attributes"/>
645 <xsd:attribute name="submission" type="xsd:IDREF" use="required"/>
646 <xsd:attributeGroup ref="xforms:XML.Events"/>
647 </xsd:complexType>
648 </xsd:element>
649 <xsd:element name="reset">
650 <xsd:complexType>
651 <xsd:attributeGroup ref="xforms:Common.Attributes"/>
652 <xsd:attributeGroup ref="xforms:XML.Events"/>
653 <xsd:attribute name="model" type="xsd:IDREF" use="optional"/>
654 <!-- E4 -->
655 </xsd:complexType>
656 </xsd:element>
657 <xsd:element name="insert">
658 <xsd:complexType>
659 <xsd:attributeGroup ref="xforms:Common.Attributes"/>
660 <xsd:attributeGroup ref="xforms:Nodeset.Binding.Attributes"/>
661 <xsd:attribute name="at" type="xforms:XPathExpression" use="required"/>
662 <xsd:attribute name="position" use="required">
663 <xsd:simpleType>
664 <xsd:restriction base="xsd:string">
665 <xsd:enumeration value="before"/>
666 <xsd:enumeration value="after"/>
667 </xsd:restriction>
668 </xsd:simpleType>
669 </xsd:attribute>
670 <xsd:attributeGroup ref="xforms:XML.Events"/>
671 </xsd:complexType>
672 </xsd:element>
673 <xsd:element name="delete">
674 <xsd:complexType>
675 <xsd:attributeGroup ref="xforms:Common.Attributes"/>
676 <xsd:attributeGroup ref="xforms:Nodeset.Binding.Attributes"/>
677 <xsd:attribute name="at" type="xforms:XPathExpression" use="required"/>
678 <xsd:attributeGroup ref="xforms:XML.Events"/>
679 </xsd:complexType>
680 </xsd:element>
681 <xsd:element name="setindex">
682 <xsd:complexType>
683 <xsd:attributeGroup ref="xforms:Common.Attributes"/>
684 <xsd:attribute name="repeat" type="xsd:IDREF" use="required"/>
685 <xsd:attribute name="index" type="xforms:XPathExpression" use="required"/>
686 <xsd:attributeGroup ref="xforms:XML.Events"/>
687 </xsd:complexType>
688 </xsd:element>
689 <xsd:element name="toggle">
690 <xsd:complexType>
691 <xsd:attributeGroup ref="xforms:Common.Attributes"/>
692 <xsd:attribute name="case" type="xsd:IDREF" use="required"/>
693 <xsd:attributeGroup ref="xforms:XML.Events"/>
694 </xsd:complexType>
695 </xsd:element>
696 <xsd:element name="message">
697 <xsd:complexType mixed="true">
698 <xsd:group ref="xforms:UI.Inline"/>
699 <xsd:attributeGroup ref="xforms:Common.Attributes"/>
700 <xsd:attributeGroup ref="xforms:Single.Node.Binding.Attributes"/>
701 <xsd:attribute name="level" use="required">
702 <xsd:simpleType>
703 <xsd:union memberTypes="xforms:QNameButNotNCNAME">
704 <xsd:simpleType>
705 <xsd:restriction base="xsd:string">
706 <xsd:enumeration value="ephemeral"/>
707 <xsd:enumeration value="modeless"/>
708 <xsd:enumeration value="modal"/>
709 </xsd:restriction>
710 </xsd:simpleType>
711 </xsd:union>
712 </xsd:simpleType>
713 </xsd:attribute>
714 <xsd:attributeGroup ref="xforms:Linking.Attributes"/>
715 <xsd:attributeGroup ref="xforms:XML.Events"/>
716 </xsd:complexType>
717 </xsd:element>
718 <!--
719 Advanced User Interface
720 -->
721 <xsd:attribute name="repeat-nodeset" type="xforms:XPathExpression"/>
722 <xsd:attribute name="repeat-model" type="xsd:IDREF"/>
723 <xsd:attribute name="repeat-bind" type="xsd:IDREF"/>
724 <xsd:attribute name="repeat-startindex" type="xsd:positiveInteger"/>
725 <xsd:attribute name="repeat-number" type="xsd:nonNegativeInteger"/>
726 <xsd:element name="repeat">
727 <xsd:complexType>
728 <xsd:sequence>
729 <xsd:sequence minOccurs="0" maxOccurs="unbounded">
730 <xsd:choice>
731 <xsd:group ref="xforms:Form.Controls"/>
732 <xsd:element ref="xforms:group"/>
733 <xsd:element ref="xforms:switch"/>
734 <xsd:element ref="xforms:repeat"/>
735 <!-- containing document language to add additional allowed content here -->
736 </xsd:choice>
737 </xsd:sequence>
738 </xsd:sequence>
739 <xsd:attributeGroup ref="xforms:Common.Attributes"/>
740 <xsd:attributeGroup ref="xforms:Nodeset.Binding.Attributes"/>
741 <xsd:attributeGroup ref="xforms:UI.Common.Attrs"/>
742 <xsd:attribute name="startindex" type="xsd:positiveInteger"/>
743 <xsd:attribute name="number" type="xsd:nonNegativeInteger"/>
744 </xsd:complexType>
745 </xsd:element>
746 <xsd:element name="group">
747 <xsd:complexType>
748 <xsd:sequence>
749 <xsd:element ref="xforms:label" minOccurs="0"/>
750 <xsd:sequence minOccurs="0" maxOccurs="unbounded">
751 <xsd:choice>
752 <xsd:group ref="xforms:UI.Common"/>
753 <xsd:group ref="xforms:Form.Controls"/>
754 <xsd:element ref="xforms:group"/>
755 <xsd:element ref="xforms:switch"/>
756 <xsd:element ref="xforms:repeat"/>
757 <!-- containing document language to add additional allowed content here -->
758 </xsd:choice>
759 </xsd:sequence>
760 </xsd:sequence>
761 <xsd:attributeGroup ref="xforms:Common.Attributes"/>
762 <xsd:attributeGroup ref="xforms:Single.Node.Binding.Attributes"/>
763 <xsd:attributeGroup ref="xforms:UI.Common.Attrs"/>
764 </xsd:complexType>
765 </xsd:element>
766 <xsd:element name="switch">
767 <xsd:complexType>
768 <xsd:sequence maxOccurs="unbounded">
769 <xsd:element ref="xforms:case"/>
770 </xsd:sequence>
771 <xsd:attributeGroup ref="xforms:Common.Attributes"/>
772 <xsd:attributeGroup ref="xforms:Single.Node.Binding.Attributes"/>
773 <xsd:attributeGroup ref="xforms:UI.Common.Attrs"/>
774 </xsd:complexType>
775 </xsd:element>
776 <xsd:element name="case">
777 <xsd:complexType>
778 <xsd:sequence>
779 <xsd:element ref="xforms:label" minOccurs="0"/>
780 <xsd:sequence minOccurs="0" maxOccurs="unbounded">
781 <xsd:choice>
782 <xsd:group ref="xforms:Form.Controls"/>
783 <xsd:group ref="xforms:Action"/>
784 <xsd:element ref="xforms:group"/>
785 <xsd:element ref="xforms:switch"/>
786 <xsd:element ref="xforms:repeat"/>
787 <!-- containing document language to add additional allowed content here -->
788 </xsd:choice>
789 <!-- E71 -->
790 </xsd:sequence>
791 </xsd:sequence>
792 <xsd:attribute name="selected" type="xsd:boolean" use="optional" default="false"/>
793 <xsd:attributeGroup ref="xforms:Common.Attributes"/>
794 </xsd:complexType>
795 </xsd:element>
796
797 <!--
798 New simpleTypes
799 -->
800
801 <xsd:simpleType name="versionList">
802 <xsd:list itemType="xforms:versionNumber"/>
803 </xsd:simpleType>
804 <xsd:simpleType name="versionNumber">
805 <xsd:restriction base="xsd:string">
806 <xsd:pattern value="[1-9]\d*\.\d+"/>
807 </xsd:restriction>
808 </xsd:simpleType>
809
810 <xsd:simpleType name="XPathExpression">
811 <xsd:restriction base="xsd:string"/>
812 </xsd:simpleType>
813 <xsd:simpleType name="QNameList">
814 <xsd:list itemType="xsd:QName"/>
815 </xsd:simpleType>
816 <xsd:simpleType name="anyURIList">
817 <xsd:list itemType="xsd:anyURI"/>
818 </xsd:simpleType>
819 <xsd:simpleType name="QNameButNotNCNAME">
820 <xsd:restriction base="xsd:QName">
821 <xsd:pattern value="[^:]+:[^:]+"/>
822 </xsd:restriction>
823 </xsd:simpleType>
824 <xsd:simpleType name="appearanceType">
825 <xsd:union memberTypes="xforms:QNameButNotNCNAME">
826 <xsd:simpleType>
827 <xsd:restriction base="xsd:string">
828 <xsd:enumeration value="full"/>
829 <xsd:enumeration value="compact"/>
830 <xsd:enumeration value="minimal"/>
831 </xsd:restriction>
832 </xsd:simpleType>
833 </xsd:union>
834 </xsd:simpleType>
835 <xsd:simpleType name="listItem">
836 <xsd:restriction base="xsd:string">
837 <xsd:pattern value="\S+"/>
838 </xsd:restriction>
839 </xsd:simpleType>
840 <xsd:simpleType name="listItems">
841 <xsd:list itemType="xforms:listItem"/>
842 </xsd:simpleType>
843 <xsd:simpleType name="dayTimeDuration">
844 <xsd:restriction base="xsd:duration">
845 <xsd:pattern value="[\-]?P([0-9]+D(T([0-9]+(H([0-9]+(M([0-9]+(\.[0-9]*)?S
846 |\.[0-9]+S)?|(\.[0-9]*)?S)|(\.[0-9]*)?S)?|M([0-9]+
847 (\.[0-9]*)?S|\.[0-9]+S)?|(\.[0-9]*)?S)|\.[0-9]+S))?
848 |T([0-9]+(H([0-9]+(M([0-9]+(\.[0-9]*)?S|\.[0-9]+S)?
849 |(\.[0-9]*)?S)|(\.[0-9]*)?S)?|M([0-9]+(\.[0-9]*)?S|\.[0-9]+S)?
850 |(\.[0-9]*)?S)|\.[0-9]+S))"/>
851 </xsd:restriction>
852 </xsd:simpleType>
853 <xsd:simpleType name="yearMonthDuration">
854 <xsd:restriction base="xsd:duration">
855 <xsd:pattern value="[\-]?P[0-9]+(Y([0-9]+M)?|M)"/>
856 </xsd:restriction>
857 </xsd:simpleType>
858 </xsd:schema>