Removed initial binder support which was replaced with more general approach.
[castle.git] / SharedLibs / mono / 2.0 / SqlMap.xsd
blob8e6108f3b8b6528f0dc2a7062bae7a0df3840680
1 <?xml version="1.0" encoding="UTF-8"?>
2 <xs:schema
3 targetNamespace="http://ibatis.apache.org/mapping"
4 elementFormDefault="qualified"
5 xmlns:mstns="http://tempuri.org/XMLSchema.xsd"
6 xmlns:xs="http://www.w3.org/2001/XMLSchema"
7 xmlns="http://ibatis.apache.org/mapping"
8 xmlns:vs="http://schemas.microsoft.com/Visual-Studio-Intellisense"
9 vs:friendlyname="iBATIS.NET mapping file Configuration Schema"
10 vs:ishtmlschema="false"
11 vs:iscasesensitive="true"
12 vs:requireattributequotes="true"
13 vs:defaultnamespacequalifier=""
14 vs:defaultnsprefix="" >
16 <xs:annotation>
17 <xs:documentation>
18 Mapping XML Schema Definition
19 </xs:documentation>
20 </xs:annotation>
22 <xs:element name="alias">
23 <xs:complexType>
24 <xs:sequence>
25 <xs:element ref="typeAlias" maxOccurs="unbounded"/>
26 </xs:sequence>
27 </xs:complexType>
28 </xs:element>
30 <xs:element name="discriminator">
31 <xs:complexType>
32 <xs:attribute name="column" type="xs:string"/>
33 <xs:attribute name="type" type="xs:string"/>
34 <xs:attribute name="typeHandler" type="xs:string"/>
35 </xs:complexType>
36 </xs:element>
38 <xs:element name="subMap">
39 <xs:complexType>
40 <xs:attribute name="value" use="required" type="xs:string"/>
41 <xs:attribute name="resultMapping" use="required" type="xs:string"/>
42 </xs:complexType>
43 </xs:element>
45 <xs:element name="cacheModel">
46 <xs:complexType>
47 <xs:sequence maxOccurs="unbounded">
48 <xs:element ref="flushInterval" minOccurs="0"/>
49 <xs:element ref="flushOnExecute" minOccurs="0" maxOccurs="unbounded"/>
50 <xs:element ref="property" minOccurs="0" maxOccurs="unbounded"/>
51 </xs:sequence>
52 <xs:attribute name="id" type="xs:string" use="required"/>
53 <xs:attribute name="serialize" type="xs:string" default="false"/>
54 <xs:attribute name="readOnly" type="xs:string" default="true"/>
55 <xs:attribute name="implementation" use="required">
56 <xs:simpleType>
57 <xs:restriction base="xs:NMTOKEN">
58 <xs:enumeration value="LRU"/>
59 <xs:enumeration value="MEMORY"/>
60 <xs:enumeration value="FIFO"/>
61 </xs:restriction>
62 </xs:simpleType>
63 </xs:attribute>
64 </xs:complexType>
65 </xs:element>
66 <xs:element name="cacheModels">
67 <xs:complexType>
68 <xs:sequence>
69 <xs:element ref="cacheModel" maxOccurs="unbounded"/>
70 </xs:sequence>
71 </xs:complexType>
72 </xs:element>
73 <xs:element name="procedure">
74 <xs:complexType mixed="true">
75 <xs:attribute name="id" type="xs:string" use="required"/>
76 <xs:attribute name="parameterMap" type="xs:string" use="required"/>
77 <xs:attribute name="resultMap" type="xs:string"/>
78 <xs:attribute name="resultClass" type="xs:string"/>
79 <xs:attribute name="cacheModel" type="xs:string"/>
80 <xs:attribute name="listClass" type="xs:string"/>
81 </xs:complexType>
82 </xs:element>
83 <xs:element name="delete">
84 <xs:complexType mixed="true">
85 <xs:choice minOccurs="0" maxOccurs="unbounded">
86 <xs:element ref="generate"/>
87 <xs:element ref="isEmpty"/>
88 <xs:element ref="isEqual"/>
89 <xs:element ref="isGreaterEqual"/>
90 <xs:element ref="isGreaterThan"/>
91 <xs:element ref="isLessThan"/>
92 <xs:element ref="isLessEqual"/>
93 <xs:element ref="isNotEmpty"/>
94 <xs:element ref="isNotEqual"/>
95 <xs:element ref="isNotNull"/>
96 <xs:element ref="isNotParameterPresent"/>
97 <xs:element ref="isNotPropertyAvailable"/>
98 <xs:element ref="isNull"/>
99 <xs:element ref="isParameterPresent"/>
100 <xs:element ref="isPropertyAvailable"/>
101 <xs:element ref="iterate"/>
102 </xs:choice>
103 <xs:attribute name="id" use="required"/>
104 <xs:attribute name="parameterMap" type="xs:string"/>
105 <xs:attribute name="parameterClass" type="xs:string"/>
106 <xs:attribute name="extends" type="xs:string"/>
107 <xs:attribute name="remapResults">
108 <xs:simpleType>
109 <xs:restriction base="xs:NMTOKEN">
110 <xs:enumeration value="false"/>
111 <xs:enumeration value="true"/>
112 </xs:restriction>
113 </xs:simpleType>
114 </xs:attribute>
115 </xs:complexType>
116 </xs:element>
117 <xs:element name="dynamic">
118 <xs:complexType mixed="true">
119 <xs:choice minOccurs="0" maxOccurs="unbounded">
120 <xs:element ref="isEmpty"/>
121 <xs:element ref="isEqual"/>
122 <xs:element ref="isGreaterEqual"/>
123 <xs:element ref="isGreaterThan"/>
124 <xs:element ref="isLessThan"/>
125 <xs:element ref="isLessEqual"/>
126 <xs:element ref="isNotEmpty"/>
127 <xs:element ref="isNotEqual"/>
128 <xs:element ref="isNotNull"/>
129 <xs:element ref="isNotParameterPresent"/>
130 <xs:element ref="isNotPropertyAvailable"/>
131 <xs:element ref="isNull"/>
132 <xs:element ref="isParameterPresent"/>
133 <xs:element ref="isPropertyAvailable"/>
134 <xs:element ref="iterate"/>
135 </xs:choice>
136 <xs:attribute name="prepend" type="xs:string"/>
137 </xs:complexType>
138 </xs:element>
139 <xs:element name="flushInterval">
140 <xs:complexType>
141 <xs:attribute name="milliseconds" type="xs:byte"/>
142 <xs:attribute name="seconds" type="xs:byte"/>
143 <xs:attribute name="minutes" type="xs:byte"/>
144 <xs:attribute name="hours" type="xs:byte"/>
145 </xs:complexType>
146 </xs:element>
147 <xs:element name="flushOnExecute">
148 <xs:complexType>
149 <xs:attribute name="statement" type="xs:string" use="required"/>
150 </xs:complexType>
151 </xs:element>
152 <xs:element name="generate">
153 <xs:complexType>
154 <xs:attribute name="table" type="xs:string" use="required"/>
155 <xs:attribute name="by" type="xs:string"/>
156 </xs:complexType>
157 </xs:element>
158 <xs:element name="insert">
159 <xs:complexType mixed="true">
160 <xs:choice minOccurs="0" maxOccurs="unbounded">
161 <xs:element ref="selectKey"/>
162 <xs:element ref="generate"/>
163 <xs:element ref="dynamic"/>
164 <xs:element ref="isEmpty"/>
165 <xs:element ref="isEqual"/>
166 <xs:element ref="isGreaterEqual"/>
167 <xs:element ref="isGreaterThan"/>
168 <xs:element ref="isLessThan"/>
169 <xs:element ref="isLessEqual"/>
170 <xs:element ref="isNotEmpty"/>
171 <xs:element ref="isNotEqual"/>
172 <xs:element ref="isNotNull"/>
173 <xs:element ref="isNotParameterPresent"/>
174 <xs:element ref="isNotPropertyAvailable"/>
175 <xs:element ref="isNull"/>
176 <xs:element ref="isParameterPresent"/>
177 <xs:element ref="isPropertyAvailable"/>
178 <xs:element ref="iterate"/>
179 </xs:choice>
180 <xs:attribute name="id" type="xs:string" use="required"/>
181 <xs:attribute name="parameterClass" type="xs:string"/>
182 <xs:attribute name="parameterMap" type="xs:string"/>
183 <xs:attribute name="resultClass" type="xs:string"/>
184 <xs:attribute name="remapResults">
185 <xs:simpleType>
186 <xs:restriction base="xs:NMTOKEN">
187 <xs:enumeration value="false"/>
188 <xs:enumeration value="true"/>
189 </xs:restriction>
190 </xs:simpleType>
191 </xs:attribute>
192 </xs:complexType>
193 </xs:element>
194 <xs:element name="isNotParameterPresent">
195 <xs:complexType mixed="true">
196 <xs:choice minOccurs="0" maxOccurs="unbounded">
197 <xs:element ref="isEmpty"/>
198 <xs:element ref="isEqual"/>
199 <xs:element ref="isGreaterEqual"/>
200 <xs:element ref="isGreaterThan"/>
201 <xs:element ref="isLessThan"/>
202 <xs:element ref="isLessEqual"/>
203 <xs:element ref="isNotEmpty"/>
204 <xs:element ref="isNotEqual"/>
205 <xs:element ref="isNotNull"/>
206 <xs:element ref="isNotParameterPresent"/>
207 <xs:element ref="isNotPropertyAvailable"/>
208 <xs:element ref="isNull"/>
209 <xs:element ref="isParameterPresent"/>
210 <xs:element ref="isPropertyAvailable"/>
211 <xs:element ref="iterate"/>
212 </xs:choice>
213 <xs:attribute name="prepend" type="xs:string"/>
214 </xs:complexType>
215 </xs:element>
216 <xs:element name="isNotPropertyAvailable">
217 <xs:complexType mixed="true">
218 <xs:choice minOccurs="0" maxOccurs="unbounded">
219 <xs:element ref="isEmpty"/>
220 <xs:element ref="isEqual"/>
221 <xs:element ref="isGreaterEqual"/>
222 <xs:element ref="isGreaterThan"/>
223 <xs:element ref="isLessThan"/>
224 <xs:element ref="isLessEqual"/>
225 <xs:element ref="isNotEmpty"/>
226 <xs:element ref="isNotEqual"/>
227 <xs:element ref="isNotNull"/>
228 <xs:element ref="isNotParameterPresent"/>
229 <xs:element ref="isNotPropertyAvailable"/>
230 <xs:element ref="isNull"/>
231 <xs:element ref="isParameterPresent"/>
232 <xs:element ref="isPropertyAvailable"/>
233 <xs:element ref="iterate"/>
234 </xs:choice>
235 <xs:attribute name="prepend" type="xs:string"/>
236 <xs:attribute name="property" type="xs:string" use="required"/>
237 </xs:complexType>
238 </xs:element>
239 <xs:element name="isEmpty">
240 <xs:complexType mixed="true">
241 <xs:choice minOccurs="0" maxOccurs="unbounded">
242 <xs:element ref="isEmpty"/>
243 <xs:element ref="isEqual"/>
244 <xs:element ref="isGreaterEqual"/>
245 <xs:element ref="isGreaterThan"/>
246 <xs:element ref="isLessThan"/>
247 <xs:element ref="isLessEqual"/>
248 <xs:element ref="isNotEmpty"/>
249 <xs:element ref="isNotEqual"/>
250 <xs:element ref="isNotNull"/>
251 <xs:element ref="isNotParameterPresent"/>
252 <xs:element ref="isNotPropertyAvailable"/>
253 <xs:element ref="isNull"/>
254 <xs:element ref="isParameterPresent"/>
255 <xs:element ref="isPropertyAvailable"/>
256 <xs:element ref="iterate"/>
257 </xs:choice>
258 <xs:attribute name="prepend" type="xs:string"/>
259 <xs:attribute name="property" type="xs:string"/>
260 </xs:complexType>
261 </xs:element>
262 <xs:element name="isEqual">
263 <xs:complexType mixed="true">
264 <xs:choice minOccurs="0" maxOccurs="unbounded">
265 <xs:element ref="isEmpty"/>
266 <xs:element ref="isEqual"/>
267 <xs:element ref="isGreaterEqual"/>
268 <xs:element ref="isGreaterThan"/>
269 <xs:element ref="isLessThan"/>
270 <xs:element ref="isLessEqual"/>
271 <xs:element ref="isNotEmpty"/>
272 <xs:element ref="isNotEqual"/>
273 <xs:element ref="isNotNull"/>
274 <xs:element ref="isNotParameterPresent"/>
275 <xs:element ref="isNotPropertyAvailable"/>
276 <xs:element ref="isNull"/>
277 <xs:element ref="isParameterPresent"/>
278 <xs:element ref="isPropertyAvailable"/>
279 <xs:element ref="iterate"/>
280 </xs:choice>
281 <xs:attribute name="prepend" type="xs:string"/>
282 <xs:attribute name="property" type="xs:string"/>
283 <xs:attribute name="compareProperty" type="xs:string"/>
284 <xs:attribute name="compareValue" type="xs:string"/>
285 </xs:complexType>
286 </xs:element>
287 <xs:element name="isNull">
288 <xs:complexType mixed="true">
289 <xs:choice minOccurs="0" maxOccurs="unbounded">
290 <xs:element ref="isEmpty"/>
291 <xs:element ref="isEqual"/>
292 <xs:element ref="isGreaterEqual"/>
293 <xs:element ref="isGreaterThan"/>
294 <xs:element ref="isLessThan"/>
295 <xs:element ref="isLessEqual"/>
296 <xs:element ref="isNotEmpty"/>
297 <xs:element ref="isNotEqual"/>
298 <xs:element ref="isNotNull"/>
299 <xs:element ref="isNotParameterPresent"/>
300 <xs:element ref="isNotPropertyAvailable"/>
301 <xs:element ref="isNull"/>
302 <xs:element ref="isParameterPresent"/>
303 <xs:element ref="isPropertyAvailable"/>
304 <xs:element ref="iterate"/>
305 </xs:choice>
306 <xs:attribute name="prepend" type="xs:string"/>
307 <xs:attribute name="property" type="xs:string"/>
308 </xs:complexType>
309 </xs:element>
310 <xs:element name="isGreaterEqual">
311 <xs:complexType mixed="true">
312 <xs:choice minOccurs="0" maxOccurs="unbounded">
313 <xs:element ref="isEmpty"/>
314 <xs:element ref="isEqual"/>
315 <xs:element ref="isGreaterEqual"/>
316 <xs:element ref="isGreaterThan"/>
317 <xs:element ref="isLessThan"/>
318 <xs:element ref="isLessEqual"/>
319 <xs:element ref="isNotEmpty"/>
320 <xs:element ref="isNotEqual"/>
321 <xs:element ref="isNotNull"/>
322 <xs:element ref="isNotParameterPresent"/>
323 <xs:element ref="isNotPropertyAvailable"/>
324 <xs:element ref="isNull"/>
325 <xs:element ref="isParameterPresent"/>
326 <xs:element ref="isPropertyAvailable"/>
327 <xs:element ref="iterate"/>
328 </xs:choice>
329 <xs:attribute name="prepend" type="xs:string"/>
330 <xs:attribute name="property" type="xs:string"/>
331 <xs:attribute name="compareProperty" type="xs:string"/>
332 <xs:attribute name="compareValue" type="xs:string"/>
333 </xs:complexType>
334 </xs:element>
335 <xs:element name="isGreaterThan">
336 <xs:complexType mixed="true">
337 <xs:choice minOccurs="0" maxOccurs="unbounded">
338 <xs:element ref="isEmpty"/>
339 <xs:element ref="isEqual"/>
340 <xs:element ref="isGreaterEqual"/>
341 <xs:element ref="isGreaterThan"/>
342 <xs:element ref="isLessThan"/>
343 <xs:element ref="isLessEqual"/>
344 <xs:element ref="isNotEmpty"/>
345 <xs:element ref="isNotEqual"/>
346 <xs:element ref="isNotNull"/>
347 <xs:element ref="isNotParameterPresent"/>
348 <xs:element ref="isNotPropertyAvailable"/>
349 <xs:element ref="isNull"/>
350 <xs:element ref="isParameterPresent"/>
351 <xs:element ref="isPropertyAvailable"/>
352 <xs:element ref="iterate"/>
353 </xs:choice>
354 <xs:attribute name="prepend" type="xs:string"/>
355 <xs:attribute name="property" type="xs:string"/>
356 <xs:attribute name="compareProperty" type="xs:string"/>
357 <xs:attribute name="compareValue" type="xs:string"/>
358 </xs:complexType>
359 </xs:element>
360 <xs:element name="isLessEqual">
361 <xs:complexType mixed="true">
362 <xs:choice minOccurs="0" maxOccurs="unbounded">
363 <xs:element ref="isEmpty"/>
364 <xs:element ref="isEqual"/>
365 <xs:element ref="isGreaterEqual"/>
366 <xs:element ref="isGreaterThan"/>
367 <xs:element ref="isLessThan"/>
368 <xs:element ref="isLessEqual"/>
369 <xs:element ref="isNotEmpty"/>
370 <xs:element ref="isNotEqual"/>
371 <xs:element ref="isNotNull"/>
372 <xs:element ref="isNotParameterPresent"/>
373 <xs:element ref="isNotPropertyAvailable"/>
374 <xs:element ref="isNull"/>
375 <xs:element ref="isParameterPresent"/>
376 <xs:element ref="isPropertyAvailable"/>
377 <xs:element ref="iterate"/>
378 </xs:choice>
379 <xs:attribute name="prepend" type="xs:string"/>
380 <xs:attribute name="property" type="xs:string"/>
381 <xs:attribute name="compareProperty" type="xs:string"/>
382 <xs:attribute name="compareValue" type="xs:string"/>
383 </xs:complexType>
384 </xs:element>
385 <xs:element name="isLessThan">
386 <xs:complexType mixed="true">
387 <xs:choice minOccurs="0" maxOccurs="unbounded">
388 <xs:element ref="isEmpty"/>
389 <xs:element ref="isEqual"/>
390 <xs:element ref="isGreaterEqual"/>
391 <xs:element ref="isGreaterThan"/>
392 <xs:element ref="isLessThan"/>
393 <xs:element ref="isLessEqual"/>
394 <xs:element ref="isNotEmpty"/>
395 <xs:element ref="isNotEqual"/>
396 <xs:element ref="isNotNull"/>
397 <xs:element ref="isNotParameterPresent"/>
398 <xs:element ref="isNotPropertyAvailable"/>
399 <xs:element ref="isNull"/>
400 <xs:element ref="isParameterPresent"/>
401 <xs:element ref="isPropertyAvailable"/>
402 <xs:element ref="iterate"/>
403 </xs:choice>
404 <xs:attribute name="prepend" type="xs:string"/>
405 <xs:attribute name="property" type="xs:string"/>
406 <xs:attribute name="compareProperty" type="xs:string"/>
407 <xs:attribute name="compareValue" type="xs:string"/>
408 </xs:complexType>
409 </xs:element>
410 <xs:element name="isNotEmpty">
411 <xs:complexType mixed="true">
412 <xs:choice minOccurs="0" maxOccurs="unbounded">
413 <xs:element ref="isEmpty"/>
414 <xs:element ref="isEqual"/>
415 <xs:element ref="isGreaterEqual"/>
416 <xs:element ref="isGreaterThan"/>
417 <xs:element ref="isLessThan"/>
418 <xs:element ref="isLessEqual"/>
419 <xs:element ref="isNotEmpty"/>
420 <xs:element ref="isNotEqual"/>
421 <xs:element ref="isNotNull"/>
422 <xs:element ref="isNotParameterPresent"/>
423 <xs:element ref="isNotPropertyAvailable"/>
424 <xs:element ref="isNull"/>
425 <xs:element ref="isParameterPresent"/>
426 <xs:element ref="isPropertyAvailable"/>
427 <xs:element ref="iterate"/>
428 </xs:choice>
429 <xs:attribute name="prepend" type="xs:string"/>
430 <xs:attribute name="property" type="xs:string"/>
431 </xs:complexType>
432 </xs:element>
433 <xs:element name="isNotEqual">
434 <xs:complexType mixed="true">
435 <xs:choice minOccurs="0" maxOccurs="unbounded">
436 <xs:element ref="isEmpty"/>
437 <xs:element ref="isEqual"/>
438 <xs:element ref="isGreaterEqual"/>
439 <xs:element ref="isGreaterThan"/>
440 <xs:element ref="isLessThan"/>
441 <xs:element ref="isLessEqual"/>
442 <xs:element ref="isNotEmpty"/>
443 <xs:element ref="isNotEqual"/>
444 <xs:element ref="isNotNull"/>
445 <xs:element ref="isNotParameterPresent"/>
446 <xs:element ref="isNotPropertyAvailable"/>
447 <xs:element ref="isNull"/>
448 <xs:element ref="isParameterPresent"/>
449 <xs:element ref="isPropertyAvailable"/>
450 <xs:element ref="iterate"/>
451 </xs:choice>
452 <xs:attribute name="prepend" type="xs:string"/>
453 <xs:attribute name="property" type="xs:string"/>
454 <xs:attribute name="compareProperty" type="xs:string"/>
455 <xs:attribute name="compareValue" type="xs:string"/>
456 </xs:complexType>
457 </xs:element>
458 <xs:element name="isNotNull">
459 <xs:complexType mixed="true">
460 <xs:choice minOccurs="0" maxOccurs="unbounded">
461 <xs:element ref="isEmpty"/>
462 <xs:element ref="isEqual"/>
463 <xs:element ref="isGreaterEqual"/>
464 <xs:element ref="isGreaterThan"/>
465 <xs:element ref="isLessThan"/>
466 <xs:element ref="isLessEqual"/>
467 <xs:element ref="isNotEmpty"/>
468 <xs:element ref="isNotEqual"/>
469 <xs:element ref="isNotNull"/>
470 <xs:element ref="isNotParameterPresent"/>
471 <xs:element ref="isNotPropertyAvailable"/>
472 <xs:element ref="isNull"/>
473 <xs:element ref="isParameterPresent"/>
474 <xs:element ref="isPropertyAvailable"/>
475 <xs:element ref="iterate"/>
476 </xs:choice>
477 <xs:attribute name="prepend" type="xs:string"/>
478 <xs:attribute name="property" type="xs:string"/>
479 </xs:complexType>
480 </xs:element>
481 <xs:element name="isParameterPresent">
482 <xs:complexType mixed="true">
483 <xs:choice minOccurs="0" maxOccurs="unbounded">
484 <xs:element ref="isEmpty"/>
485 <xs:element ref="isEqual"/>
486 <xs:element ref="isGreaterEqual"/>
487 <xs:element ref="isGreaterThan"/>
488 <xs:element ref="isLessThan"/>
489 <xs:element ref="isLessEqual"/>
490 <xs:element ref="isNotEmpty"/>
491 <xs:element ref="isNotEqual"/>
492 <xs:element ref="isNotNull"/>
493 <xs:element ref="isNotParameterPresent"/>
494 <xs:element ref="isNotPropertyAvailable"/>
495 <xs:element ref="isNull"/>
496 <xs:element ref="isParameterPresent"/>
497 <xs:element ref="isPropertyAvailable"/>
498 <xs:element ref="iterate"/>
499 </xs:choice>
500 <xs:attribute name="prepend" type="xs:string"/>
501 </xs:complexType>
502 </xs:element>
503 <xs:element name="isPropertyAvailable">
504 <xs:complexType mixed="true">
505 <xs:choice minOccurs="0" maxOccurs="unbounded">
506 <xs:element ref="isEmpty"/>
507 <xs:element ref="isEqual"/>
508 <xs:element ref="isGreaterEqual"/>
509 <xs:element ref="isGreaterThan"/>
510 <xs:element ref="isLessThan"/>
511 <xs:element ref="isLessEqual"/>
512 <xs:element ref="isNotEmpty"/>
513 <xs:element ref="isNotEqual"/>
514 <xs:element ref="isNotNull"/>
515 <xs:element ref="isNotParameterPresent"/>
516 <xs:element ref="isNotPropertyAvailable"/>
517 <xs:element ref="isNull"/>
518 <xs:element ref="isParameterPresent"/>
519 <xs:element ref="isPropertyAvailable"/>
520 <xs:element ref="iterate"/>
521 </xs:choice>
522 <xs:attribute name="prepend" type="xs:string"/>
523 <xs:attribute name="property" type="xs:string" use="required"/>
524 </xs:complexType>
525 </xs:element>
526 <xs:element name="iterate">
527 <xs:complexType mixed="true">
528 <xs:choice minOccurs="0" maxOccurs="unbounded">
529 <xs:element ref="isEmpty"/>
530 <xs:element ref="isEqual"/>
531 <xs:element ref="isGreaterEqual"/>
532 <xs:element ref="isGreaterThan"/>
533 <xs:element ref="isLessThan"/>
534 <xs:element ref="isLessEqual"/>
535 <xs:element ref="isNotEmpty"/>
536 <xs:element ref="isNotEqual"/>
537 <xs:element ref="isNotNull"/>
538 <xs:element ref="isNotParameterPresent"/>
539 <xs:element ref="isNotPropertyAvailable"/>
540 <xs:element ref="isNull"/>
541 <xs:element ref="isParameterPresent"/>
542 <xs:element ref="isPropertyAvailable"/>
543 <xs:element ref="iterate"/>
544 </xs:choice>
545 <xs:attribute name="open" type="xs:string" use="required"/>
546 <xs:attribute name="close" type="xs:string" use="required"/>
547 <xs:attribute name="conjunction" type="xs:string" use="required"/>
548 <xs:attribute name="property" type="xs:string"/>
549 <xs:attribute name="prepend" type="xs:string"/>
550 </xs:complexType>
551 </xs:element>
552 <xs:element name="parameter">
553 <xs:complexType>
554 <xs:attribute name="property" type="xs:string" use="required"/>
555 <xs:attribute name="column" type="xs:string"/>
556 <xs:attribute name="nullValue" type="xs:string"/>
557 <xs:attribute name="type" type="xs:string"/>
558 <xs:attribute name="dbType" type="xs:string"/>
559 <xs:attribute name="size" type="xs:string"/>
560 <xs:attribute name="scale" type="xs:string"/>
561 <xs:attribute name="precision" type="xs:string"/>
562 <xs:attribute name="typeHandler" type="xs:string"/>
563 <xs:attribute name="direction">
564 <xs:simpleType>
565 <xs:restriction base="xs:NMTOKEN">
566 <xs:enumeration value="Input"/>
567 <xs:enumeration value="Output"/>
568 <xs:enumeration value="InputOutput"/>
569 </xs:restriction>
570 </xs:simpleType>
571 </xs:attribute>
572 </xs:complexType>
573 </xs:element>
574 <xs:element name="parameterMap">
575 <xs:complexType>
576 <xs:sequence>
577 <xs:element ref="parameter" minOccurs="0" maxOccurs="unbounded"/>
578 </xs:sequence>
579 <xs:attribute name="id" type="xs:string" use="required"/>
580 <xs:attribute name="class" type="xs:string" />
581 <xs:attribute name="extends" type="xs:string"/>
582 </xs:complexType>
583 </xs:element>
584 <xs:element name="parameterMaps">
585 <xs:complexType>
586 <xs:sequence>
587 <xs:element ref="parameterMap" maxOccurs="unbounded"/>
588 </xs:sequence>
589 </xs:complexType>
590 </xs:element>
591 <xs:element name="property">
592 <xs:complexType>
593 <xs:attribute name="name" type="xs:string" use="required"/>
594 <xs:attribute name="value" type="xs:string" use="required"/>
595 </xs:complexType>
596 </xs:element>
597 <xs:element name="result">
598 <xs:complexType>
599 <xs:attribute name="property" type="xs:string" use="required"/>
600 <xs:attribute name="column" type="xs:string"/>
601 <xs:attribute name="lazyLoad">
602 <xs:simpleType>
603 <xs:restriction base="xs:NMTOKEN">
604 <xs:enumeration value="false"/>
605 <xs:enumeration value="true"/>
606 </xs:restriction>
607 </xs:simpleType>
608 </xs:attribute>
609 <xs:attribute name="select" type="xs:string"/>
610 <xs:attribute name="nullValue" type="xs:string"/>
611 <xs:attribute name="type" type="xs:string"/>
612 <xs:attribute name="dbType" type="xs:string"/>
613 <xs:attribute name="columnIndex" type="xs:string"/>
614 <xs:attribute name="resultMapping" type="xs:string"/>
615 <xs:attribute name="typeHandler" type="xs:string"/>
616 </xs:complexType>
617 </xs:element>
618 <xs:element name="argument">
619 <xs:complexType>
620 <xs:attribute name="argumentName" type="xs:string" use="required"/>
621 <xs:attribute name="column" type="xs:string"/>
622 <xs:attribute name="select" type="xs:string"/>
623 <xs:attribute name="nullValue" type="xs:string"/>
624 <xs:attribute name="type" type="xs:string"/>
625 <xs:attribute name="dbType" type="xs:string"/>
626 <xs:attribute name="columnIndex" type="xs:string"/>
627 <xs:attribute name="resultMapping" type="xs:string"/>
628 <xs:attribute name="typeHandler" type="xs:string"/>
629 </xs:complexType>
630 </xs:element>
631 <xs:element name="constructor">
632 <xs:complexType>
633 <xs:sequence>
634 <xs:element ref="argument" maxOccurs="unbounded"/>
635 </xs:sequence>
636 </xs:complexType>
637 </xs:element>
638 <xs:element name="resultMap">
639 <xs:complexType>
640 <xs:sequence>
641 <xs:element ref="constructor" minOccurs="0" maxOccurs="1"/>
642 <xs:element ref="result" minOccurs="0" maxOccurs="unbounded"/>
643 <xs:element ref="discriminator" minOccurs="0" maxOccurs="1"/>
644 <xs:element ref="subMap" minOccurs="0" maxOccurs="unbounded"/>
645 </xs:sequence>
646 <xs:attribute name="id" type="xs:string" use="required"/>
647 <xs:attribute name="class" type="xs:string" use="required"/>
648 <xs:attribute name="extends" type="xs:string"/>
649 </xs:complexType>
650 </xs:element>
651 <xs:element name="resultMaps">
652 <xs:complexType>
653 <xs:sequence>
654 <xs:element ref="resultMap" maxOccurs="unbounded"/>
655 </xs:sequence>
656 </xs:complexType>
657 </xs:element>
658 <xs:element name="select">
659 <xs:complexType mixed="true">
660 <xs:choice minOccurs="0" maxOccurs="unbounded">
661 <xs:element ref="dynamic"/>
662 <xs:element ref="isEmpty"/>
663 <xs:element ref="isEqual"/>
664 <xs:element ref="isGreaterEqual"/>
665 <xs:element ref="isGreaterThan"/>
666 <xs:element ref="isLessThan"/>
667 <xs:element ref="isLessEqual"/>
668 <xs:element ref="isNotEmpty"/>
669 <xs:element ref="isNotEqual"/>
670 <xs:element ref="isNotNull"/>
671 <xs:element ref="isNotParameterPresent"/>
672 <xs:element ref="isNotPropertyAvailable"/>
673 <xs:element ref="isNull"/>
674 <xs:element ref="isParameterPresent"/>
675 <xs:element ref="isPropertyAvailable"/>
676 <xs:element ref="iterate"/>
677 <xs:element ref="generate"/>
678 </xs:choice>
679 <xs:attribute name="id" type="xs:string" use="required"/>
680 <xs:attribute name="parameterClass" type="xs:string"/>
681 <xs:attribute name="resultMap" type="xs:string"/>
682 <xs:attribute name="resultClass" type="xs:string"/>
683 <xs:attribute name="parameterMap" type="xs:string"/>
684 <xs:attribute name="cacheModel" type="xs:string"/>
685 <xs:attribute name="listClass" type="xs:string"/>
686 <xs:attribute name="extends" type="xs:string"/>
687 <xs:attribute name="remapResults">
688 <xs:simpleType>
689 <xs:restriction base="xs:NMTOKEN">
690 <xs:enumeration value="false"/>
691 <xs:enumeration value="true"/>
692 </xs:restriction>
693 </xs:simpleType>
694 </xs:attribute>
695 </xs:complexType>
696 </xs:element>
697 <xs:element name="selectKey">
698 <xs:complexType>
699 <xs:simpleContent>
700 <xs:extension base="xs:string">
701 <xs:attribute name="property" type="xs:string" use="required"/>
702 <xs:attribute name="type" use="required">
703 <xs:simpleType>
704 <xs:restriction base="xs:NMTOKEN">
705 <xs:enumeration value="post"/>
706 <xs:enumeration value="pre"/>
707 </xs:restriction>
708 </xs:simpleType>
709 </xs:attribute>
710 <xs:attribute name="resultClass" type="xs:string" use="required"/>
711 </xs:extension>
712 </xs:simpleContent>
713 </xs:complexType>
714 </xs:element>
715 <xs:element name="sqlMap">
716 <xs:complexType>
717 <xs:sequence>
718 <xs:element ref="alias" minOccurs="0"/>
719 <xs:element ref="cacheModels" minOccurs="0"/>
720 <xs:element ref="resultMaps" minOccurs="0"/>
721 <xs:element ref="statements" minOccurs="0" />
722 <xs:element ref="parameterMaps" minOccurs="0"/>
723 </xs:sequence>
724 <xs:attribute name="namespace" type="xs:string" use="required"/>
725 </xs:complexType>
726 </xs:element>
727 <xs:element name="statement">
728 <xs:complexType mixed="true">
729 <xs:choice minOccurs="0" maxOccurs="unbounded">
730 <xs:element ref="dynamic"/>
731 <xs:element ref="isEmpty"/>
732 <xs:element ref="isEqual"/>
733 <xs:element ref="isGreaterEqual"/>
734 <xs:element ref="isGreaterThan"/>
735 <xs:element ref="isLessThan"/>
736 <xs:element ref="isLessEqual"/>
737 <xs:element ref="isNotEmpty"/>
738 <xs:element ref="isNotEqual"/>
739 <xs:element ref="isNotNull"/>
740 <xs:element ref="isNotParameterPresent"/>
741 <xs:element ref="isNotPropertyAvailable"/>
742 <xs:element ref="isNull"/>
743 <xs:element ref="isParameterPresent"/>
744 <xs:element ref="isPropertyAvailable"/>
745 <xs:element ref="iterate"/>
746 </xs:choice>
747 <xs:attribute name="id" type="xs:string" use="required"/>
748 <xs:attribute name="parameterClass" type="xs:string"/>
749 <xs:attribute name="resultMap" type="xs:string"/>
750 <xs:attribute name="resultClass" type="xs:string"/>
751 <xs:attribute name="parameterMap" type="xs:string"/>
752 <xs:attribute name="listClass" type="xs:string"/>
753 <xs:attribute name="cacheModel" type="xs:string"/>
754 <xs:attribute name="remapResults">
755 <xs:simpleType>
756 <xs:restriction base="xs:NMTOKEN">
757 <xs:enumeration value="false"/>
758 <xs:enumeration value="true"/>
759 </xs:restriction>
760 </xs:simpleType>
761 </xs:attribute>
762 </xs:complexType>
763 </xs:element>
764 <xs:element name="statements">
765 <xs:complexType>
766 <xs:choice maxOccurs="unbounded">
767 <xs:element ref="statement"/>
768 <xs:element ref="insert"/>
769 <xs:element ref="update"/>
770 <xs:element ref="delete"/>
771 <xs:element ref="select"/>
772 <xs:element ref="procedure"/>
773 </xs:choice>
774 </xs:complexType>
775 </xs:element>
776 <xs:element name="typeAlias">
777 <xs:complexType>
778 <xs:attribute name="alias" type="xs:string" use="required"/>
779 <xs:attribute name="type" type="xs:string" use="required"/>
780 </xs:complexType>
781 </xs:element>
782 <xs:element name="update">
783 <xs:complexType mixed="true">
784 <xs:choice minOccurs="0" maxOccurs="unbounded">
785 <xs:element ref="generate"/>
786 <xs:element ref="dynamic"/>
787 <xs:element ref="isEmpty"/>
788 <xs:element ref="isEqual"/>
789 <xs:element ref="isGreaterEqual"/>
790 <xs:element ref="isGreaterThan"/>
791 <xs:element ref="isLessThan"/>
792 <xs:element ref="isLessEqual"/>
793 <xs:element ref="isNotEmpty"/>
794 <xs:element ref="isNotEqual"/>
795 <xs:element ref="isNotNull"/>
796 <xs:element ref="isNotParameterPresent"/>
797 <xs:element ref="isNotPropertyAvailable"/>
798 <xs:element ref="isNull"/>
799 <xs:element ref="isParameterPresent"/>
800 <xs:element ref="isPropertyAvailable"/>
801 <xs:element ref="iterate"/>
802 </xs:choice>
803 <xs:attribute name="id" type="xs:string" use="required"/>
804 <xs:attribute name="parameterMap" type="xs:string"/>
805 <xs:attribute name="parameterClass" type="xs:string"/>
806 <xs:attribute name="extends" type="xs:string"/>
807 <xs:attribute name="remapResults">
808 <xs:simpleType>
809 <xs:restriction base="xs:NMTOKEN">
810 <xs:enumeration value="false"/>
811 <xs:enumeration value="true"/>
812 </xs:restriction>
813 </xs:simpleType>
814 </xs:attribute>
815 </xs:complexType>
816 </xs:element>
817 </xs:schema>