1 <?xml version=
"1.0" encoding=
"UTF-8"?>
2 <xs:schema xmlns:
xs=
"http://www.w3.org/2001/XMLSchema">
5 <xs:documentation xml:
lang=
"en">
6 Radio data schema for companion9x.
10 <xs:simpleType name=
"CalibrationValue">
11 <xs:restriction base=
"xs:int">
12 <xs:minInclusive value=
"-125"/>
13 <xs:maxInclusive value=
"125"/>
17 <xs:complexType name=
"Calibration">
18 <xs:attribute name=
"middle" type=
"CalibrationValue" use=
"required"/>
19 <xs:attribute name=
"negative" type=
"CalibrationValue" use=
"required"/>
20 <xs:attribute name=
"positive" type=
"CalibrationValue" use=
"required"/>
23 <xs:complexType name=
"PPMCalibration">
24 <xs:attribute name=
"middle" type=
"CalibrationValue" use=
"required"/>
27 <xs:simpleType name=
"Switch">
28 <xs:restriction base=
"xs:string">
29 <!-- TODO accepter minuscules/majuscules -->
30 <xs:enumeration value=
"OFF"/>
31 <xs:enumeration value=
"!SWC"/>
32 <xs:enumeration value=
"!SWB"/>
33 <xs:enumeration value=
"!SWA"/>
34 <xs:enumeration value=
"!SW9"/>
35 <xs:enumeration value=
"!SW8"/>
36 <xs:enumeration value=
"!SW7"/>
37 <xs:enumeration value=
"!SW6"/>
38 <xs:enumeration value=
"!SW5"/>
39 <xs:enumeration value=
"!SW4"/>
40 <xs:enumeration value=
"!SW3"/>
41 <xs:enumeration value=
"!SW2"/>
42 <xs:enumeration value=
"!SW1"/>
43 <xs:enumeration value=
"!TRN"/>
44 <xs:enumeration value=
"!GEA"/>
45 <xs:enumeration value=
"!AIL"/>
46 <xs:enumeration value=
"!ID2"/>
47 <xs:enumeration value=
"!ID1"/>
48 <xs:enumeration value=
"!ID0"/>
49 <xs:enumeration value=
"!ELE"/>
50 <xs:enumeration value=
"!RUD"/>
51 <xs:enumeration value=
"!THR"/>
53 <xs:enumeration value=
"THR"/>
54 <xs:enumeration value=
"RUD"/>
55 <xs:enumeration value=
"ELE"/>
56 <xs:enumeration value=
"ID0"/>
57 <xs:enumeration value=
"ID1"/>
58 <xs:enumeration value=
"ID2"/>
59 <xs:enumeration value=
"AIL"/>
60 <xs:enumeration value=
"GEA"/>
61 <xs:enumeration value=
"TRN"/>
62 <xs:enumeration value=
"SW1"/>
63 <xs:enumeration value=
"SW2"/>
64 <xs:enumeration value=
"SW3"/>
65 <xs:enumeration value=
"SW4"/>
66 <xs:enumeration value=
"SW5"/>
67 <xs:enumeration value=
"SW6"/>
68 <xs:enumeration value=
"SW7"/>
69 <xs:enumeration value=
"SW8"/>
70 <xs:enumeration value=
"SW9"/>
71 <xs:enumeration value=
"SWA"/>
72 <xs:enumeration value=
"SWB"/>
73 <xs:enumeration value=
"SWC"/>
74 <xs:enumeration value=
"ON"/>
78 <xs:simpleType name=
"TimerSwitch">
79 <xs:restriction base=
"xs:string">
80 <xs:enumeration value=
"!mSWC"/>
81 <xs:enumeration value=
"!mSWB"/>
82 <xs:enumeration value=
"!mSWA"/>
83 <xs:enumeration value=
"!mSW9"/>
84 <xs:enumeration value=
"!mSW8"/>
85 <xs:enumeration value=
"!mSW7"/>
86 <xs:enumeration value=
"!mSW6"/>
87 <xs:enumeration value=
"!mSW5"/>
88 <xs:enumeration value=
"!mSW4"/>
89 <xs:enumeration value=
"!mSW3"/>
90 <xs:enumeration value=
"!mSW2"/>
91 <xs:enumeration value=
"!mSW1"/>
92 <xs:enumeration value=
"!mTRN"/>
93 <xs:enumeration value=
"!mGEA"/>
94 <xs:enumeration value=
"!mAIL"/>
95 <xs:enumeration value=
"!mID2"/>
96 <xs:enumeration value=
"!mID1"/>
97 <xs:enumeration value=
"!mID0"/>
98 <xs:enumeration value=
"!mELE"/>
99 <xs:enumeration value=
"!mRUD"/>
100 <xs:enumeration value=
"!mTHR"/>
101 <xs:enumeration value=
"!SWC"/>
102 <xs:enumeration value=
"!SWB"/>
103 <xs:enumeration value=
"!SWA"/>
104 <xs:enumeration value=
"!SW9"/>
105 <xs:enumeration value=
"!SW8"/>
106 <xs:enumeration value=
"!SW7"/>
107 <xs:enumeration value=
"!SW6"/>
108 <xs:enumeration value=
"!SW5"/>
109 <xs:enumeration value=
"!SW4"/>
110 <xs:enumeration value=
"!SW3"/>
111 <xs:enumeration value=
"!SW2"/>
112 <xs:enumeration value=
"!SW1"/>
113 <xs:enumeration value=
"!TRN"/>
114 <xs:enumeration value=
"!GEA"/>
115 <xs:enumeration value=
"!AIL"/>
116 <xs:enumeration value=
"!ID2"/>
117 <xs:enumeration value=
"!ID1"/>
118 <xs:enumeration value=
"!ID0"/>
119 <xs:enumeration value=
"!ELE"/>
120 <xs:enumeration value=
"!RUD"/>
121 <xs:enumeration value=
"!THR"/>
122 <xs:enumeration value=
"!P3%"/>
123 <xs:enumeration value=
"!P3"/>
124 <xs:enumeration value=
"!P2%"/>
125 <xs:enumeration value=
"!P2"/>
126 <xs:enumeration value=
"!P1%"/>
127 <xs:enumeration value=
"!P1"/>
128 <xs:enumeration value=
"!AL%"/>
129 <xs:enumeration value=
"!ALs"/>
130 <xs:enumeration value=
"!TH%"/>
131 <xs:enumeration value=
"!THs"/>
132 <xs:enumeration value=
"!EL%"/>
133 <xs:enumeration value=
"!ELs"/>
134 <xs:enumeration value=
"!RU%"/>
135 <xs:enumeration value=
"!RUs"/>
136 <xs:enumeration value=
"!ABS"/>
137 <!-- TODO on affiche 2x ABS -->
138 <xs:enumeration value=
"OFF"/>
139 <!-- TODO a retirer + decalage -->
140 <xs:enumeration value=
"ABS"/>
141 <xs:enumeration value=
"RUs"/>
142 <xs:enumeration value=
"RU%"/>
143 <xs:enumeration value=
"ELs"/>
144 <xs:enumeration value=
"EL%"/>
145 <xs:enumeration value=
"THs"/>
146 <xs:enumeration value=
"TH%"/>
147 <xs:enumeration value=
"ALs"/>
148 <xs:enumeration value=
"AL%"/>
149 <xs:enumeration value=
"P1"/>
150 <xs:enumeration value=
"P1%"/>
151 <xs:enumeration value=
"P2"/>
152 <xs:enumeration value=
"P2%"/>
153 <xs:enumeration value=
"P3"/>
154 <xs:enumeration value=
"P3%"/>
155 <xs:enumeration value=
"THR"/>
156 <xs:enumeration value=
"RUD"/>
157 <xs:enumeration value=
"ELE"/>
158 <xs:enumeration value=
"ID0"/>
159 <xs:enumeration value=
"ID1"/>
160 <xs:enumeration value=
"ID2"/>
161 <xs:enumeration value=
"AIL"/>
162 <xs:enumeration value=
"GEA"/>
163 <xs:enumeration value=
"TRN"/>
164 <xs:enumeration value=
"SW1"/>
165 <xs:enumeration value=
"SW2"/>
166 <xs:enumeration value=
"SW3"/>
167 <xs:enumeration value=
"SW4"/>
168 <xs:enumeration value=
"SW5"/>
169 <xs:enumeration value=
"SW6"/>
170 <xs:enumeration value=
"SW7"/>
171 <xs:enumeration value=
"SW8"/>
172 <xs:enumeration value=
"SW9"/>
173 <xs:enumeration value=
"SWA"/>
174 <xs:enumeration value=
"SWB"/>
175 <xs:enumeration value=
"SWC"/>
176 <xs:enumeration value=
"mTHR"/>
177 <xs:enumeration value=
"mRUD"/>
178 <xs:enumeration value=
"mELE"/>
179 <xs:enumeration value=
"mID0"/>
180 <xs:enumeration value=
"mID1"/>
181 <xs:enumeration value=
"mID2"/>
182 <xs:enumeration value=
"mAIL"/>
183 <xs:enumeration value=
"mGEA"/>
184 <xs:enumeration value=
"mTRN"/>
185 <xs:enumeration value=
"mSW1"/>
186 <xs:enumeration value=
"mSW2"/>
187 <xs:enumeration value=
"mSW3"/>
188 <xs:enumeration value=
"mSW4"/>
189 <xs:enumeration value=
"mSW5"/>
190 <xs:enumeration value=
"mSW6"/>
191 <xs:enumeration value=
"mSW7"/>
192 <xs:enumeration value=
"mSW8"/>
193 <xs:enumeration value=
"mSW9"/>
194 <xs:enumeration value=
"mSWA"/>
195 <xs:enumeration value=
"mSWB"/>
196 <xs:enumeration value=
"mSWC"/>
200 <xs:simpleType name=
"Source">
201 <xs:restriction base=
"xs:string">
202 <!-- TODO accepter minuscules/majuscules -->
203 <xs:enumeration value=
"RUD"/>
204 <xs:enumeration value=
"THR"/>
205 <xs:enumeration value=
"ELE"/>
206 <xs:enumeration value=
"AIL"/>
207 <xs:enumeration value=
"P1"/>
208 <xs:enumeration value=
"P2"/>
209 <xs:enumeration value=
"P3"/>
210 <xs:enumeration value=
"MAX"/>
211 <xs:enumeration value=
"FULL"/>
212 <xs:enumeration value=
"CYC1"/>
213 <xs:enumeration value=
"CYC2"/>
214 <xs:enumeration value=
"CYC3"/>
215 <xs:enumeration value=
"PPM1"/>
216 <xs:enumeration value=
"PPM2"/>
217 <xs:enumeration value=
"PPM3"/>
218 <xs:enumeration value=
"PPM4"/>
219 <xs:enumeration value=
"PPM5"/>
220 <xs:enumeration value=
"PPM6"/>
221 <xs:enumeration value=
"PPM7"/>
222 <xs:enumeration value=
"PPM8"/>
223 <xs:enumeration value=
"CH1"/>
224 <xs:enumeration value=
"CH2"/>
225 <xs:enumeration value=
"CH3"/>
226 <xs:enumeration value=
"CH4"/>
227 <xs:enumeration value=
"CH5"/>
228 <xs:enumeration value=
"CH6"/>
229 <xs:enumeration value=
"CH7"/>
230 <xs:enumeration value=
"CH8"/>
231 <xs:enumeration value=
"CH9"/>
232 <xs:enumeration value=
"CH10"/>
233 <xs:enumeration value=
"CH11"/>
234 <xs:enumeration value=
"CH12"/>
235 <xs:enumeration value=
"CH13"/>
236 <xs:enumeration value=
"CH14"/>
237 <xs:enumeration value=
"CH15"/>
238 <xs:enumeration value=
"CH16"/>
242 <xs:simpleType name=
"Output">
243 <xs:restriction base=
"xs:string">
244 <xs:enumeration value=
"CH1"/>
245 <xs:enumeration value=
"CH2"/>
246 <xs:enumeration value=
"CH3"/>
247 <xs:enumeration value=
"CH4"/>
248 <xs:enumeration value=
"CH5"/>
249 <xs:enumeration value=
"CH6"/>
250 <xs:enumeration value=
"CH7"/>
251 <xs:enumeration value=
"CH8"/>
252 <xs:enumeration value=
"CH9"/>
253 <xs:enumeration value=
"CH10"/>
254 <xs:enumeration value=
"CH11"/>
255 <xs:enumeration value=
"CH12"/>
256 <xs:enumeration value=
"CH13"/>
257 <xs:enumeration value=
"CH14"/>
258 <xs:enumeration value=
"CH15"/>
259 <xs:enumeration value=
"CH16"/>
263 <xs:simpleType name=
"Stick">
264 <xs:restriction base=
"xs:string">
265 <xs:enumeration value=
"rudder"/>
266 <xs:enumeration value=
"aileron"/>
267 <xs:enumeration value=
"elevator"/>
268 <xs:enumeration value=
"throttle"/>
272 <xs:simpleType name=
"Weight100">
273 <xs:restriction base=
"xs:int">
274 <xs:minInclusive value=
"-100"/>
275 <xs:maxInclusive value=
"100"/>
279 <xs:simpleType name=
"Weight125">
280 <xs:restriction base=
"xs:int">
281 <xs:minInclusive value=
"-125"/>
282 <xs:maxInclusive value=
"125"/>
286 <xs:simpleType name=
"TrimValue">
287 <xs:restriction base=
"xs:int">
288 <xs:minInclusive value=
"-1024"/>
289 <xs:maxInclusive value=
"+1024"/>
293 <xs:complexType name=
"TrimType">
294 <xs:attribute name=
"phaseRef" type=
"xs:int"/>
295 <!-- TODO either phaseRef or value -->
296 <xs:attribute name=
"value" type=
"TrimValue"/>
298 <!-- TODO <xs:key name="phaseRef">
299 <xs:selector xpath="model/phases/phase"/>
300 <xs:field xpath="@id"/>
304 <xs:element name=
"radio">
307 <xs:element name=
"global-settings" minOccurs=
"0">
310 <xs:element name=
"calibration" minOccurs=
"0">
313 <xs:element name=
"rudder" type=
"Calibration"/>
314 <xs:element name=
"throttle" type=
"Calibration"/>
315 <xs:element name=
"aileron" type=
"Calibration"/>
316 <xs:element name=
"elevator" type=
"Calibration"/>
317 <xs:element name=
"p1" type=
"Calibration"/>
318 <xs:element name=
"p2" type=
"Calibration"/>
319 <xs:element name=
"p3" type=
"Calibration"/>
324 <xs:element name=
"contrast" type=
"xs:unsignedByte" minOccurs=
"0"/>
326 <xs:element name=
"battery" minOccurs=
"0">
328 <xs:attribute name=
"calibration" type=
"xs:unsignedByte" use=
"required"/>
329 <xs:attribute name=
"warning" type=
"xs:unsignedByte" use=
"required"/>
333 <xs:element name=
"light-switch" type=
"Switch" minOccurs=
"0"/>
335 <xs:element name=
"ppm-input-calibration" minOccurs=
"0">
338 <xs:element name=
"multiplier" type=
"xs:int"/>
339 <xs:element name=
"ch1" type=
"PPMCalibration"/>
340 <xs:element name=
"ch2" type=
"PPMCalibration"/>
341 <xs:element name=
"ch3" type=
"PPMCalibration"/>
342 <xs:element name=
"ch4" type=
"PPMCalibration"/>
343 <!-- <xs:element name="ch5" type="PPMCalibration"/>
344 <xs:element name="ch6" type="PPMCalibration"/>
345 <xs:element name="ch7" type="PPMCalibration"/>
346 <xs:element name="ch8" type="PPMCalibration"/> //-->
350 <xs:element name=
"view" type=
"xs:unsignedByte" minOccurs=
"0"/>
352 <xs:element name=
"beeper" type=
"xs:unsignedByte" minOccurs=
"0"/>
354 <xs:element name=
"inactivity-timer" type=
"xs:byte" minOccurs=
"0"/>
355 <xs:element name=
"timer-beeps" minOccurs=
"0">
357 <xs:attribute name=
"minute" type=
"xs:boolean"/>
358 <xs:attribute name=
"countdown" type=
"xs:boolean"/>
359 <xs:attribute name=
"screen-flash" type=
"xs:boolean"/>
362 <xs:element name=
"splash-screen" type=
"xs:boolean" minOccurs=
"0"/>
363 <xs:element name=
"filter-input" minOccurs=
"0">
365 <xs:restriction base=
"xs:string">
366 <xs:enumeration value=
"single"/>
367 <xs:enumeration value=
"oversample"/>
368 <xs:enumeration value=
"filter"/>
372 <xs:element name=
"light-auto-off-timer" type=
"xs:unsignedByte" minOccurs=
"0"/>
373 <xs:element name=
"default-channel-order" type=
"xs:unsignedByte" minOccurs=
"0"/>
374 <xs:element name=
"PPM_Multiplier" type=
"xs:byte" minOccurs=
"0"/>
375 <xs:element name=
"owner-name" type=
"xs:string" minOccurs=
"0"/>
376 <xs:element name=
"sticks" minOccurs=
"0">
378 <xs:attribute name=
"mode" type=
"xs:unsignedByte" use=
"required"/>
379 <xs:attribute name=
"throttle-reverse" type=
"xs:boolean"/>
382 <xs:element name=
"warnings" minOccurs=
"0">
385 <xs:element name=
"warning" minOccurs=
"0" maxOccurs=
"unbounded">
387 <xs:attribute name=
"name" use=
"required" >
389 <xs:restriction base=
"xs:NMTOKEN">
390 <xs:enumeration value=
"throttle"/>
391 <xs:enumeration value=
"switchs"/>
392 <xs:enumeration value=
"memory"/>
393 <xs:enumeration value=
"silent"/>
397 <xs:attribute name=
"value" type=
"xs:boolean" use=
"required"/>
407 <xs:element name=
"models" minOccurs=
"0">
410 <xs:element name=
"model" minOccurs=
"0" maxOccurs=
"unbounded">
413 <xs:element name=
"name" type=
"xs:normalizedString"/>
414 <xs:element name=
"timer" minOccurs=
"0" maxOccurs=
"unbounded">
416 <xs:attribute name=
"mode" type=
"TimerSwitch" use=
"required"/>
417 <xs:attribute name=
"direction" use=
"required">
419 <xs:restriction base=
"xs:string">
420 <xs:enumeration value=
"down"/>
421 <xs:enumeration value=
"up"/>
425 <xs:attribute name=
"value" type=
"xs:time" use=
"required"/>
428 <xs:element name=
"modulation" minOccurs=
"0">
430 <xs:attribute name=
"type">
432 <xs:restriction base=
"xs:string">
433 <!-- TODO accepter minuscules/majuscules -->
434 <xs:enumeration value=
"PPM"/>
435 <xs:enumeration value=
"PCM"/>
436 <xs:enumeration value=
"Silver A"/>
437 <xs:enumeration value=
"Silver B"/>
438 <xs:enumeration value=
"Silver C"/>
439 <xs:enumeration value=
"Trac 09"/>
443 <xs:attribute name=
"channels">
445 <xs:restriction base=
"xs:nonNegativeInteger">
446 <xs:maxExclusive value=
"17"/>
450 <xs:attribute name=
"delay" type=
"xs:nonNegativeInteger"/>
451 <xs:attribute name=
"polarity">
453 <xs:restriction base=
"xs:string">
454 <xs:enumeration value=
"positive"/>
455 <xs:enumeration value=
"negative"/>
461 <xs:element name=
"trims" minOccurs=
"0">
463 <xs:attribute name=
"extended" type=
"xs:boolean"/>
464 <xs:attribute name=
"inc">
466 <xs:restriction base=
"xs:string">
467 <xs:enumeration value=
"exponential"/>
468 <xs:enumeration value=
"extra-fine"/>
469 <xs:enumeration value=
"fine"/>
470 <xs:enumeration value=
"medium"/>
471 <xs:enumeration value=
"coarse"/>
475 <xs:attribute name=
"throttleTrim" type=
"xs:boolean"/>
476 <xs:attribute name=
"throttleTrimExpo" type=
"xs:boolean"/>
479 <xs:element name=
"centerBeep" minOccurs=
"0">
481 <xs:attribute name=
"rudder" type=
"xs:boolean"/>
482 <xs:attribute name=
"elevator" type=
"xs:boolean"/>
483 <xs:attribute name=
"throttle" type=
"xs:boolean"/>
484 <xs:attribute name=
"aileron" type=
"xs:boolean"/>
485 <xs:attribute name=
"p1" type=
"xs:boolean"/>
486 <xs:attribute name=
"p2" type=
"xs:boolean"/>
487 <xs:attribute name=
"p3" type=
"xs:boolean"/>
491 <xs:element name=
"heliSwashplate" minOccurs=
"0">
494 <xs:element name=
"invert">
497 <xs:element name=
"aileron" type=
"xs:boolean"/>
498 <xs:element name=
"collective" type=
"xs:boolean"/>
499 <xs:element name=
"elevator" type=
"xs:boolean"/>
504 <xs:attribute name=
"type">
506 <xs:restriction base=
"xs:string">
507 <xs:enumeration value=
"off"/>
508 <xs:enumeration value=
"120"/>
509 <xs:enumeration value=
"120Xfine"/>
510 <xs:enumeration value=
"140"/>
511 <xs:enumeration value=
"90"/>
515 <xs:attribute name=
"source" type=
"Source"/>
516 <xs:attribute name=
"value" type=
"xs:int"/>
520 <xs:element name=
"phases" minOccurs=
"0">
523 <xs:element name=
"phase" maxOccurs=
"unbounded">
526 <xs:element name=
"trims">
529 <xs:element name=
"rudder" type=
"TrimType"/>
530 <xs:element name=
"elevator" type=
"TrimType"/>
531 <xs:element name=
"throttle" type=
"TrimType"/>
532 <xs:element name=
"aileron" type=
"TrimType"/>
537 <xs:attribute name=
"id" type=
"xs:int" use=
"required"/>
538 <xs:attribute name=
"name" type=
"xs:string"/>
539 <xs:attribute name=
"switch" type=
"Switch"/>
540 <xs:attribute name=
"fadeIn" type=
"xs:int"/>
541 <xs:attribute name=
"fadeOut" type=
"xs:int"/>
543 <xs:unique name=
"uniquePhaseId">
544 <xs:selector xpath=
"model/phases/phase"/>
545 <xs:field xpath=
"@id"/>
554 <xs:element name=
"outputs" minOccurs=
"0">
555 <!-- TODO pas de minOccurs -->
558 <xs:element name=
"curve" maxOccurs=
"unbounded">
561 <xs:element name=
"point">
563 <xs:attribute name=
"x" type=
"Weight100"/>
564 <xs:attribute name=
"y" type=
"Weight100"/>
568 <xs:attribute name=
"id" type=
"xs:string"/>
570 <xs:unique name=
"uniqueCurveForEachModel">
571 <xs:selector xpath=
"model/outputs/curve"/>
572 <xs:field xpath=
"@id"/>
576 <xs:element name=
"output" maxOccurs=
"unbounded">
579 <xs:element name=
"limit">
581 <xs:attribute name=
"min" type=
"Weight100"/>
582 <xs:attribute name=
"max" type=
"Weight100"/>
585 <xs:element name=
"revert" type=
"xs:boolean"/>
586 <xs:element name=
"offset" type=
"Weight100"/>
587 <xs:element name=
"mixer" minOccurs=
"1" maxOccurs=
"unbounded">
590 <xs:element name=
"source" type=
"Source"/>
591 <xs:element name=
"weight" type=
"Weight125"/>
592 <xs:element name=
"offset" type=
"Weight125"/>
593 <xs:element name=
"switch" type=
"Switch"/>
594 <xs:element name=
"curve" type=
"xs:string"/>
595 <xs:element name=
"delay">
597 <xs:attribute name=
"up" type=
"xs:int"/>
598 <xs:attribute name=
"down" type=
"xs:int"/>
601 <xs:element name=
"speed">
603 <xs:attribute name=
"up" type=
"xs:int"/>
604 <xs:attribute name=
"down" type=
"xs:int"/>
607 <xs:element name=
"trim" type=
"xs:boolean"/>
608 <xs:element name=
"warning">
610 <xs:restriction base=
"xs:int">
611 <xs:minInclusive value=
"0"/>
612 <xs:maxInclusive value=
"3"/>
617 <xs:attribute name=
"method">
619 <xs:restriction base=
"xs:string">
620 <xs:enumeration value=
"add"/>
621 <xs:enumeration value=
"replace"/>
622 <xs:enumeration value=
"multiply"/>
627 <xs:key name=
"curveKeyRef">
628 <xs:selector xpath=
"model/outputs/curve"/>
629 <xs:field xpath=
"@id"/>
633 <xs:attribute name=
"id" type=
"Output"/>
635 <xs:unique name=
"uniqueOutputForEachModel">
636 <xs:selector xpath=
"model/outputs/output"/>
637 <xs:field xpath=
"@id"/>
641 <xs:attribute name=
"extendedLimits" type=
"xs:boolean"/>
645 <xs:element name=
"inputs" minOccurs=
"0">
648 <xs:element name=
"input">
651 <xs:element name=
"switch">
654 <xs:element name=
"expo">
656 <xs:attribute name=
"left" type=
"Weight100"/>
657 <xs:attribute name=
"right" type=
"Weight100"/>
660 <xs:element name=
"max">
662 <xs:attribute name=
"left" type=
"Weight100"/>
663 <xs:attribute name=
"right" type=
"Weight100"/>
667 <xs:attribute name=
"value" type=
"Switch"/>
670 <xs:element name=
"trim" type=
"TrimValue"/>
672 <xs:attribute name=
"id" type=
"Stick"/>
674 <xs:unique name=
"uniqueInputForEachModel">
675 <xs:selector xpath=
"model/inputs/input"/>
676 <xs:field xpath=
"@id"/>