main
1<xs:schema targetNamespace="urn:nhibernate-mapping-2.2" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="urn:nhibernate-mapping-2.2" elementFormDefault="qualified" attributeFormDefault="unqualified">
2 <xs:element name="any">
3 <xs:complexType>
4 <xs:sequence>
5 <xs:element ref="meta" minOccurs="0" maxOccurs="unbounded" />
6 <xs:element ref="meta-value" minOccurs="0" maxOccurs="unbounded" />
7 <xs:element ref="column" maxOccurs="unbounded" />
8 </xs:sequence>
9 <xs:attribute name="column" type="xs:string" />
10 <xs:attribute name="id-type" use="required" type="xs:string" />
11 <xs:attribute name="meta-type" type="xs:string" />
12 <xs:attribute name="name" use="required" type="xs:string" />
13 <xs:attribute name="access" type="xs:string" />
14 <xs:attribute name="insert" default="true" type="xs:boolean" />
15 <xs:attribute name="update" default="true" type="xs:boolean" />
16 <xs:attribute name="cascade" type="xs:string" />
17 <xs:attribute name="index" type="xs:string" />
18 <xs:attribute name="optimistic-lock" default="true" type="xs:boolean" />
19 <xs:attribute name="lazy" default="false" type="xs:boolean" />
20 <xs:attribute name="node" type="xs:string" />
21 </xs:complexType>
22 </xs:element>
23 <xs:element name="array">
24 <xs:complexType>
25 <xs:sequence>
26 <xs:element ref="meta" minOccurs="0" maxOccurs="unbounded" />
27 <xs:element ref="subselect" minOccurs="0" />
28 <xs:element ref="cache" minOccurs="0" />
29 <xs:element ref="synchronize" minOccurs="0" maxOccurs="unbounded" />
30 <xs:element ref="comment" minOccurs="0" />
31 <xs:element ref="key" />
32 <xs:choice>
33 <xs:element ref="index" />
34 <xs:element ref="list-index" />
35 </xs:choice>
36 <xs:choice>
37 <xs:element ref="element" />
38 <xs:element ref="one-to-many" />
39 <xs:element ref="many-to-many" />
40 <xs:element ref="composite-element" />
41 <xs:element ref="many-to-any" />
42 </xs:choice>
43 <xs:element ref="loader" minOccurs="0" />
44 <xs:element ref="sql-insert" minOccurs="0" />
45 <xs:element ref="sql-update" minOccurs="0" />
46 <xs:element ref="sql-delete" minOccurs="0" />
47 <xs:element ref="sql-delete-all" minOccurs="0" />
48 </xs:sequence>
49 <xs:attribute name="name" use="required" type="xs:string" />
50 <xs:attribute name="access" type="xs:string" />
51 <xs:attribute name="table" type="xs:string" />
52 <xs:attribute name="schema" type="xs:string" />
53 <xs:attribute name="catalog" type="xs:string" />
54 <xs:attribute name="subselect" type="xs:string" />
55 <xs:attribute name="inverse" default="false" type="xs:boolean">
56 </xs:attribute>
57 <xs:attribute name="mutable" default="true" type="xs:boolean">
58 </xs:attribute>
59 <xs:attribute name="element-class" type="xs:string" />
60 <xs:attribute name="cascade" type="xs:string" />
61 <xs:attribute name="where" type="xs:string" />
62 <xs:attribute name="batch-size" type="xs:int" />
63 <xs:attribute name="outer-join" type="outerJoinStrategy">
64 </xs:attribute>
65 <xs:attribute name="fetch" type="collectionFetchMode">
66 </xs:attribute>
67 <xs:attribute name="persister" type="xs:string" />
68 <xs:attribute name="collection-type" type="xs:string" />
69 <xs:attribute name="check" type="xs:string" />
70 <xs:attribute name="optimistic-lock" default="true" type="xs:boolean">
71 </xs:attribute>
72 <xs:attribute name="node" type="xs:string" />
73 <xs:attribute name="embed-xml" default="true" type="xs:boolean">
74 </xs:attribute>
75 </xs:complexType>
76 </xs:element>
77 <xs:element name="bag">
78 <xs:complexType>
79 <xs:sequence>
80 <xs:element ref="meta" minOccurs="0" maxOccurs="unbounded" />
81 <xs:element ref="subselect" minOccurs="0" />
82 <xs:element ref="cache" minOccurs="0" />
83 <xs:element ref="synchronize" minOccurs="0" maxOccurs="unbounded" />
84 <xs:element ref="comment" minOccurs="0" />
85 <xs:element ref="key" />
86 <xs:choice>
87 <xs:element ref="element" />
88 <xs:element ref="one-to-many" />
89 <xs:element ref="many-to-many" />
90 <xs:element ref="composite-element" />
91 <xs:element ref="many-to-any" />
92 </xs:choice>
93 <xs:element ref="loader" minOccurs="0" />
94 <xs:element ref="sql-insert" minOccurs="0" />
95 <xs:element ref="sql-update" minOccurs="0" />
96 <xs:element ref="sql-delete" minOccurs="0" />
97 <xs:element ref="sql-delete-all" minOccurs="0" />
98 <xs:element ref="filter" minOccurs="0" maxOccurs="unbounded" />
99 </xs:sequence>
100 <xs:attributeGroup ref="baseCollectionAttributes" />
101 </xs:complexType>
102 </xs:element>
103 <xs:element name="cache">
104 <xs:complexType>
105 <xs:attribute name="usage" use="required">
106 <xs:simpleType>
107 <xs:restriction base="xs:string">
108 <xs:enumeration value="read-only" />
109 <xs:enumeration value="read-write" />
110 <xs:enumeration value="nonstrict-read-write" />
111 <xs:enumeration value="transactional" />
112 </xs:restriction>
113 </xs:simpleType>
114 </xs:attribute>
115 <xs:attribute name="region" type="xs:string" use="optional">
116 </xs:attribute>
117 <xs:attribute name="include" default="all">
118 <xs:simpleType>
119 <xs:restriction base="xs:string">
120 <xs:enumeration value="all" />
121 <xs:enumeration value="non-lazy" />
122 </xs:restriction>
123 </xs:simpleType>
124 </xs:attribute>
125 </xs:complexType>
126 </xs:element>
127 <xs:element name="class">
128 <xs:complexType>
129 <xs:sequence>
130 <xs:element ref="meta" minOccurs="0" maxOccurs="unbounded" />
131 <xs:element ref="subselect" minOccurs="0" />
132 <xs:element ref="cache" minOccurs="0" />
133 <xs:element ref="synchronize" minOccurs="0" maxOccurs="unbounded" />
134 <xs:element ref="comment" minOccurs="0" />
135 <xs:element ref="tuplizer" minOccurs="0" maxOccurs="unbounded" />
136 <xs:choice>
137 <xs:element ref="id" />
138 <xs:element ref="composite-id" />
139 </xs:choice>
140 <xs:element ref="discriminator" minOccurs="0" />
141 <xs:element ref="natural-id" minOccurs="0" />
142 <xs:choice minOccurs="0">
143 <xs:element ref="version" />
144 <xs:element ref="timestamp" />
145 </xs:choice>
146 <xs:choice minOccurs="0" maxOccurs="unbounded">
147 <xs:element ref="property" />
148 <xs:element ref="many-to-one" />
149 <xs:element ref="one-to-one" />
150 <xs:element ref="component" />
151 <xs:element ref="dynamic-component" />
152 <xs:element ref="properties" />
153 <xs:element ref="any" />
154 <xs:element ref="map" />
155 <xs:element ref="set" />
156 <xs:element ref="list" />
157 <xs:element ref="bag" />
158 <xs:element ref="idbag" />
159 <xs:element ref="array" />
160 <xs:element ref="primitive-array" />
161 </xs:choice>
162 <xs:choice>
163 <xs:sequence>
164 <xs:element ref="join" minOccurs="0" maxOccurs="unbounded" />
165 <xs:element ref="subclass" minOccurs="0" maxOccurs="unbounded" />
166 </xs:sequence>
167 <xs:element ref="joined-subclass" minOccurs="0" maxOccurs="unbounded" />
168 <xs:element ref="union-subclass" minOccurs="0" maxOccurs="unbounded" />
169 </xs:choice>
170 <xs:element ref="loader" minOccurs="0" />
171 <xs:element ref="sql-insert" minOccurs="0" />
172 <xs:element ref="sql-update" minOccurs="0" />
173 <xs:element ref="sql-delete" minOccurs="0" />
174 <xs:element ref="filter" minOccurs="0" maxOccurs="unbounded" />
175 <xs:element ref="resultset" minOccurs="0" maxOccurs="unbounded" />
176 <xs:choice minOccurs="0" maxOccurs="unbounded">
177 <xs:element ref="query" />
178 <xs:element ref="sql-query" />
179 </xs:choice>
180 </xs:sequence>
181 <xs:attribute name="entity-name" type="xs:string">
182 </xs:attribute>
183 <xs:attribute name="name" type="xs:string" />
184 <xs:attribute name="proxy" type="xs:string" />
185 <xs:attribute name="lazy" type="xs:boolean">
186 </xs:attribute>
187 <xs:attribute name="schema-action" type="xs:string" />
188 <xs:attribute name="table" type="xs:string" />
189 <xs:attribute name="schema" type="xs:string" />
190 <xs:attribute name="catalog" type="xs:string" />
191 <xs:attribute name="subselect" type="xs:string" />
192 <xs:attribute name="discriminator-value" type="xs:string" />
193 <xs:attribute name="mutable" default="true" type="xs:boolean">
194 </xs:attribute>
195 <xs:attribute name="abstract" type="xs:boolean">
196 </xs:attribute>
197 <xs:attribute name="polymorphism" default="implicit" type="polymorphismType">
198 </xs:attribute>
199 <xs:attribute name="where" type="xs:string" />
200 <xs:attribute name="persister" type="xs:string" />
201 <xs:attribute name="dynamic-update" default="false" type="xs:boolean">
202 </xs:attribute>
203 <xs:attribute name="dynamic-insert" default="false" type="xs:boolean">
204 </xs:attribute>
205 <xs:attribute name="batch-size" type="xs:int" />
206 <xs:attribute name="select-before-update" default="false" type="xs:boolean">
207 </xs:attribute>
208 <xs:attribute name="optimistic-lock" default="version" type="optimisticLockMode">
209 </xs:attribute>
210 <xs:attribute name="check" type="xs:string" />
211 <xs:attribute name="rowid" type="xs:string" />
212 <xs:attribute name="node" type="xs:string" />
213 </xs:complexType>
214 </xs:element>
215 <xs:element name="collection-id">
216 <xs:complexType>
217 <xs:sequence>
218 <xs:element ref="meta" minOccurs="0" maxOccurs="unbounded" />
219 <xs:element ref="column" minOccurs="0" maxOccurs="unbounded" />
220 <xs:element ref="generator" />
221 </xs:sequence>
222 <xs:attribute name="column" use="required" type="xs:string" />
223 <xs:attribute name="type" use="required" type="xs:string" />
224 <xs:attribute name="length" type="xs:positiveInteger" />
225 </xs:complexType>
226 </xs:element>
227 <xs:element name="column">
228 <xs:complexType>
229 <xs:sequence>
230 <xs:element ref="comment" minOccurs="0" />
231 </xs:sequence>
232 <xs:attribute name="name" use="required" type="xs:string">
233 </xs:attribute>
234 <xs:attribute name="length" type="xs:positiveInteger" />
235 <xs:attribute name="precision" type="xs:positiveInteger" />
236 <xs:attribute name="scale" type="xs:positiveInteger" />
237 <xs:attribute name="not-null" type="xs:boolean">
238 </xs:attribute>
239 <xs:attribute name="unique" type="xs:boolean">
240 </xs:attribute>
241 <xs:attribute name="unique-key" type="xs:string" />
242 <xs:attribute name="sql-type" type="xs:string" />
243 <xs:attribute name="index" type="xs:string" />
244 <xs:attribute name="check" type="xs:string" />
245 <xs:attribute name="default" type="xs:string" />
246 </xs:complexType>
247 </xs:element>
248 <xs:element name="comment">
249 <xs:complexType mixed="true">
250 </xs:complexType>
251 </xs:element>
252 <xs:element name="component">
253 <xs:complexType>
254 <xs:sequence>
255 <xs:element ref="meta" minOccurs="0" maxOccurs="unbounded" />
256 <xs:element ref="tuplizer" minOccurs="0" maxOccurs="unbounded" />
257 <xs:element ref="parent" minOccurs="0" />
258 <xs:choice minOccurs="0" maxOccurs="unbounded">
259 <xs:element ref="property" />
260 <xs:element ref="many-to-one" />
261 <xs:element ref="one-to-one" />
262 <xs:element ref="component" />
263 <xs:element ref="dynamic-component" />
264 <xs:element ref="any" />
265 <xs:element ref="map" />
266 <xs:element ref="set" />
267 <xs:element ref="list" />
268 <xs:element ref="bag" />
269 <xs:element ref="idbag" />
270 <xs:element ref="array" />
271 <xs:element ref="primitive-array" />
272 </xs:choice>
273 </xs:sequence>
274 <xs:attribute name="class" type="xs:string" />
275 <xs:attribute name="name" use="required" type="xs:string" />
276 <xs:attribute name="access" type="xs:string" />
277 <xs:attribute name="unique" default="false" type="xs:boolean">
278 </xs:attribute>
279 <xs:attribute name="update" default="true" type="xs:boolean">
280 </xs:attribute>
281 <xs:attribute name="insert" default="true" type="xs:boolean">
282 </xs:attribute>
283 <xs:attribute name="lazy" default="false" type="xs:boolean">
284 </xs:attribute>
285 <xs:attribute name="optimistic-lock" default="true" type="xs:boolean">
286 </xs:attribute>
287 <xs:attribute name="node" type="xs:string" />
288 </xs:complexType>
289 </xs:element>
290 <xs:element name="composite-element">
291 <xs:complexType>
292 <xs:sequence>
293 <xs:element ref="meta" minOccurs="0" maxOccurs="unbounded" />
294 <xs:element ref="parent" minOccurs="0" />
295 <xs:choice minOccurs="0" maxOccurs="unbounded">
296 <xs:element ref="property" />
297 <xs:element ref="many-to-one" />
298 <xs:element ref="any" />
299 <xs:element ref="nested-composite-element" />
300 </xs:choice>
301 </xs:sequence>
302 <xs:attribute name="class" use="required" type="xs:string" />
303 <xs:attribute name="node" type="xs:string" />
304 </xs:complexType>
305 </xs:element>
306 <xs:element name="composite-id">
307 <xs:annotation>
308 <xs:documentation>A composite key may be modelled by a .NET class with a property for each key column. The class must be Serializable and override equals() and hashCode()</xs:documentation>
309 </xs:annotation>
310 <xs:complexType>
311 <xs:sequence>
312 <xs:element ref="meta" minOccurs="0" maxOccurs="unbounded" />
313 <xs:choice maxOccurs="unbounded">
314 <xs:element ref="key-property" />
315 <xs:element ref="key-many-to-one" />
316 </xs:choice>
317 </xs:sequence>
318 <xs:attribute name="class" type="xs:string" />
319 <xs:attribute name="mapped" default="false" type="xs:boolean">
320 </xs:attribute>
321 <xs:attribute name="name" type="xs:string" />
322 <xs:attribute name="node" type="xs:string" />
323 <xs:attribute name="access" type="xs:string" />
324 <xs:attribute name="unsaved-value" default="undefined" type="unsavedValueType">
325 </xs:attribute>
326 </xs:complexType>
327 </xs:element>
328 <xs:element name="composite-index">
329 <xs:complexType>
330 <xs:sequence>
331 <xs:choice maxOccurs="unbounded">
332 <xs:element ref="key-property" />
333 <xs:element ref="key-many-to-one" />
334 </xs:choice>
335 </xs:sequence>
336 <xs:attribute name="class" use="required" type="xs:string" />
337 </xs:complexType>
338 </xs:element>
339 <xs:element name="composite-map-key">
340 <xs:complexType>
341 <xs:sequence>
342 <xs:choice maxOccurs="unbounded">
343 <xs:element ref="key-property" />
344 <xs:element ref="key-many-to-one" />
345 </xs:choice>
346 </xs:sequence>
347 <xs:attribute name="class" use="required" type="xs:string" />
348 </xs:complexType>
349 </xs:element>
350 <xs:element name="create">
351 <xs:complexType mixed="true">
352 </xs:complexType>
353 </xs:element>
354 <xs:element name="database-object">
355 <xs:complexType>
356 <xs:sequence>
357 <xs:choice>
358 <xs:element ref="definition" />
359 <xs:sequence>
360 <xs:element ref="create" />
361 <xs:element ref="drop" />
362 </xs:sequence>
363 </xs:choice>
364 <xs:element ref="dialect-scope" minOccurs="0" maxOccurs="unbounded" />
365 </xs:sequence>
366 </xs:complexType>
367 </xs:element>
368 <xs:element name="definition">
369 <xs:complexType>
370 <xs:attribute name="class" use="required" type="xs:string" />
371 </xs:complexType>
372 </xs:element>
373 <xs:element name="dialect-scope">
374 <xs:complexType mixed="true">
375 <xs:attribute name="name" use="required" type="xs:string" />
376 </xs:complexType>
377 </xs:element>
378 <xs:element name="discriminator">
379 <xs:complexType>
380 <xs:sequence>
381 <xs:choice minOccurs="0">
382 <xs:element ref="column" />
383 <xs:element ref="formula" />
384 </xs:choice>
385 </xs:sequence>
386 <xs:attribute name="column" type="xs:string" />
387 <xs:attribute name="formula" type="xs:string" />
388 <xs:attribute name="type" default="string" type="xs:string" />
389 <xs:attribute name="not-null" default="true" type="xs:boolean">
390 </xs:attribute>
391 <xs:attribute name="length" type="xs:positiveInteger" />
392 <xs:attribute name="force" default="false" type="xs:boolean">
393 </xs:attribute>
394 <xs:attribute name="insert" default="true" type="xs:boolean">
395 </xs:attribute>
396 </xs:complexType>
397 </xs:element>
398 <xs:element name="drop">
399 <xs:complexType mixed="true">
400 </xs:complexType>
401 </xs:element>
402 <xs:element name="dynamic-component">
403 <xs:complexType>
404 <xs:sequence>
405 <xs:choice minOccurs="0" maxOccurs="unbounded">
406 <xs:element ref="property" />
407 <xs:element ref="many-to-one" />
408 <xs:element ref="one-to-one" />
409 <xs:element ref="component" />
410 <xs:element ref="dynamic-component" />
411 <xs:element ref="any" />
412 <xs:element ref="map" />
413 <xs:element ref="set" />
414 <xs:element ref="list" />
415 <xs:element ref="bag" />
416 <xs:element ref="array" />
417 <xs:element ref="primitive-array" />
418 </xs:choice>
419 </xs:sequence>
420 <xs:attribute name="name" use="required" type="xs:string" />
421 <xs:attribute name="access" type="xs:string" />
422 <xs:attribute name="unique" default="false" type="xs:boolean">
423 </xs:attribute>
424 <xs:attribute name="update" default="true" type="xs:boolean">
425 </xs:attribute>
426 <xs:attribute name="insert" default="true" type="xs:boolean">
427 </xs:attribute>
428 <xs:attribute name="optimistic-lock" default="true" type="xs:boolean">
429 </xs:attribute>
430 <xs:attribute name="node" type="xs:string" />
431 </xs:complexType>
432 </xs:element>
433 <xs:element name="element">
434 <xs:complexType>
435 <xs:sequence>
436 <xs:choice minOccurs="0" maxOccurs="unbounded">
437 <xs:element ref="column" />
438 <xs:element ref="formula" />
439 </xs:choice>
440 <xs:element ref="type" minOccurs="0" />
441 </xs:sequence>
442 <xs:attribute name="column" type="xs:string" />
443 <xs:attribute name="node" type="xs:string" />
444 <xs:attribute name="formula" type="xs:string" />
445 <xs:attribute name="type" type="xs:string" />
446 <xs:attribute name="length" type="xs:positiveInteger" />
447 <xs:attribute name="precision" type="xs:positiveInteger" />
448 <xs:attribute name="scale" type="xs:positiveInteger" />
449 <xs:attribute name="not-null" default="false" type="xs:boolean">
450 </xs:attribute>
451 <xs:attribute name="unique" default="false" type="xs:boolean">
452 </xs:attribute>
453 </xs:complexType>
454 </xs:element>
455 <xs:element name="filter">
456 <xs:complexType mixed="true">
457 <xs:attribute name="name" use="required" type="xs:string" />
458 <xs:attribute name="condition" type="xs:string" />
459 </xs:complexType>
460 </xs:element>
461 <xs:element name="filter-def">
462 <xs:complexType mixed="true">
463 <xs:choice minOccurs="0" maxOccurs="unbounded">
464 <xs:element ref="filter-param" />
465 </xs:choice>
466 <xs:attribute name="name" use="required" type="xs:string" />
467 <xs:attribute name="condition" type="xs:string" />
468 </xs:complexType>
469 </xs:element>
470 <xs:element name="filter-param">
471 <xs:complexType>
472 <xs:attribute name="name" use="required" type="xs:string" />
473 <xs:attribute name="type" use="required" type="xs:string" />
474 </xs:complexType>
475 </xs:element>
476 <xs:element name="formula">
477 <xs:complexType mixed="true">
478 </xs:complexType>
479 </xs:element>
480 <xs:element name="generator">
481 <xs:complexType>
482 <xs:sequence>
483 <xs:element ref="param" minOccurs="0" maxOccurs="unbounded" />
484 </xs:sequence>
485 <xs:attribute name="class" use="required" type="xs:string" />
486 </xs:complexType>
487 </xs:element>
488 <xs:element name="hibernate-mapping">
489 <xs:complexType>
490 <xs:sequence>
491 <xs:element ref="meta" minOccurs="0" maxOccurs="unbounded" />
492 <xs:element ref="typedef" minOccurs="0" maxOccurs="unbounded" />
493 <xs:element ref="import" minOccurs="0" maxOccurs="unbounded" />
494 <xs:choice minOccurs="0" maxOccurs="unbounded">
495 <xs:element ref="class" />
496 <xs:element ref="subclass" />
497 <xs:element ref="joined-subclass" />
498 <xs:element ref="union-subclass" />
499 </xs:choice>
500 <xs:element ref="resultset" minOccurs="0" maxOccurs="unbounded" />
501 <xs:choice minOccurs="0" maxOccurs="unbounded">
502 <xs:element ref="query" />
503 <xs:element ref="sql-query" />
504 </xs:choice>
505 <xs:element ref="filter-def" minOccurs="0" maxOccurs="unbounded" />
506 <xs:element ref="database-object" minOccurs="0" maxOccurs="unbounded" />
507 </xs:sequence>
508 <xs:attribute name="schema" type="xs:string" />
509 <xs:attribute name="catalog" type="xs:string" />
510 <xs:attribute name="default-cascade" default="none" type="xs:string" />
511 <xs:attribute name="default-access" default="property" type="xs:string" />
512 <xs:attribute name="default-lazy" default="true" type="xs:boolean">
513 </xs:attribute>
514 <xs:attribute name="auto-import" default="true" type="xs:boolean">
515 </xs:attribute>
516 <xs:attribute name="namespace" type="xs:string" use="optional">
517 <xs:annotation>
518 <xs:documentation>Namespace used to find not-Fully Qualified Type Names</xs:documentation>
519 </xs:annotation>
520 </xs:attribute>
521 <xs:attribute name="assembly" type="xs:string" use="optional">
522 <xs:annotation>
523 <xs:documentation>Assembly used to find not-Fully Qualified Type Names</xs:documentation>
524 </xs:annotation>
525 </xs:attribute>
526 </xs:complexType>
527 </xs:element>
528 <xs:element name="id">
529 <xs:complexType>
530 <xs:sequence>
531 <xs:element ref="meta" minOccurs="0" maxOccurs="unbounded" />
532 <xs:element ref="column" minOccurs="0" maxOccurs="unbounded" />
533 <xs:element ref="type" minOccurs="0" />
534 <xs:element ref="generator" minOccurs="0" />
535 </xs:sequence>
536 <xs:attribute name="name" type="xs:string" />
537 <xs:attribute name="node" type="xs:string" />
538 <xs:attribute name="access" type="xs:string" />
539 <xs:attribute name="column" type="xs:string" />
540 <xs:attribute name="type" type="xs:string" />
541 <xs:attribute name="length" type="xs:positiveInteger" />
542 <xs:attribute name="unsaved-value" type="xs:string" />
543 </xs:complexType>
544 </xs:element>
545 <xs:element name="idbag">
546 <xs:complexType>
547 <xs:sequence>
548 <xs:element ref="meta" minOccurs="0" maxOccurs="unbounded" />
549 <xs:element ref="subselect" minOccurs="0" />
550 <xs:element ref="cache" minOccurs="0" />
551 <xs:element ref="synchronize" minOccurs="0" maxOccurs="unbounded" />
552 <xs:element ref="comment" minOccurs="0" />
553 <xs:element ref="collection-id" />
554 <xs:element ref="key" />
555 <xs:choice>
556 <xs:element ref="element" />
557 <xs:element ref="many-to-many" />
558 <xs:element ref="composite-element" />
559 <xs:element ref="many-to-any" />
560 </xs:choice>
561 <xs:element ref="loader" minOccurs="0" />
562 <xs:element ref="sql-insert" minOccurs="0" />
563 <xs:element ref="sql-update" minOccurs="0" />
564 <xs:element ref="sql-delete" minOccurs="0" />
565 <xs:element ref="sql-delete-all" minOccurs="0" />
566 <xs:element ref="filter" minOccurs="0" maxOccurs="unbounded" />
567 </xs:sequence>
568 <xs:attributeGroup ref="baseCollectionAttributes" />
569 </xs:complexType>
570 </xs:element>
571 <xs:element name="import">
572 <xs:complexType>
573 <xs:attribute name="class" use="required" type="xs:string" />
574 <xs:attribute name="rename" type="xs:string" />
575 </xs:complexType>
576 </xs:element>
577 <xs:element name="index">
578 <xs:complexType>
579 <xs:sequence>
580 <xs:element ref="column" minOccurs="0" maxOccurs="unbounded" />
581 </xs:sequence>
582 <xs:attribute name="column" type="xs:string" />
583 <xs:attribute name="type" type="xs:string" />
584 <xs:attribute name="length" type="xs:positiveInteger" />
585 </xs:complexType>
586 </xs:element>
587 <xs:element name="index-many-to-any">
588 <xs:complexType>
589 <xs:sequence>
590 <xs:element ref="column" maxOccurs="unbounded" />
591 </xs:sequence>
592 <xs:attribute name="id-type" use="required" type="xs:string" />
593 <xs:attribute name="meta-type" type="xs:string" />
594 <xs:attribute name="column" type="xs:string" />
595 </xs:complexType>
596 </xs:element>
597 <xs:element name="index-many-to-many">
598 <xs:complexType>
599 <xs:sequence>
600 <xs:element ref="column" minOccurs="0" maxOccurs="unbounded" />
601 </xs:sequence>
602 <xs:attribute name="class" use="required" type="xs:string" />
603 <xs:attribute name="entity-name" type="xs:string" />
604 <xs:attribute name="column" type="xs:string" />
605 <xs:attribute name="foreign-key" type="xs:string" />
606 </xs:complexType>
607 </xs:element>
608 <xs:element name="join">
609 <xs:complexType>
610 <xs:sequence>
611 <xs:element ref="subselect" minOccurs="0" />
612 <xs:element ref="comment" minOccurs="0" />
613 <xs:element ref="key" />
614 <xs:choice minOccurs="0" maxOccurs="unbounded">
615 <xs:element ref="property" />
616 <xs:element ref="many-to-one" />
617 <xs:element ref="component" />
618 <xs:element ref="dynamic-component" />
619 <xs:element ref="any" />
620 <xs:element ref="map" />
621 <xs:element ref="set" />
622 <xs:element ref="list" />
623 <xs:element ref="bag" />
624 <xs:element ref="idbag" />
625 <xs:element ref="array" />
626 <xs:element ref="primitive-array" />
627 </xs:choice>
628 <xs:element ref="sql-insert" minOccurs="0" />
629 <xs:element ref="sql-update" minOccurs="0" />
630 <xs:element ref="sql-delete" minOccurs="0" />
631 </xs:sequence>
632 <xs:attribute name="table" use="required" type="xs:string" />
633 <xs:attribute name="schema" type="xs:string" />
634 <xs:attribute name="catalog" type="xs:string" />
635 <xs:attribute name="subselect" type="xs:string" />
636 <xs:attribute name="fetch" default="join">
637 <xs:simpleType>
638 <xs:restriction base="xs:string">
639 <xs:enumeration value="join" />
640 <xs:enumeration value="select" />
641 </xs:restriction>
642 </xs:simpleType>
643 </xs:attribute>
644 <xs:attribute name="inverse" default="false" type="xs:boolean">
645 </xs:attribute>
646 <xs:attribute name="optional" default="false" type="xs:boolean">
647 </xs:attribute>
648 </xs:complexType>
649 </xs:element>
650 <xs:element name="joined-subclass">
651 <xs:complexType>
652 <xs:sequence>
653 <xs:element ref="meta" minOccurs="0" maxOccurs="unbounded" />
654 <xs:element ref="subselect" minOccurs="0" />
655 <xs:element ref="synchronize" minOccurs="0" maxOccurs="unbounded" />
656 <xs:element ref="comment" minOccurs="0" />
657 <xs:element ref="tuplizer" minOccurs="0" maxOccurs="unbounded" />
658 <xs:element ref="key" />
659 <xs:choice minOccurs="0" maxOccurs="unbounded">
660 <xs:element ref="property" />
661 <xs:element ref="many-to-one" />
662 <xs:element ref="one-to-one" />
663 <xs:element ref="component" />
664 <xs:element ref="dynamic-component" />
665 <xs:element ref="properties" />
666 <xs:element ref="any" />
667 <xs:element ref="map" />
668 <xs:element ref="set" />
669 <xs:element ref="list" />
670 <xs:element ref="bag" />
671 <xs:element ref="idbag" />
672 <xs:element ref="array" />
673 <xs:element ref="primitive-array" />
674 </xs:choice>
675 <xs:element ref="joined-subclass" minOccurs="0" maxOccurs="unbounded" />
676 <xs:element ref="loader" minOccurs="0" />
677 <xs:element ref="sql-insert" minOccurs="0" />
678 <xs:element ref="sql-update" minOccurs="0" />
679 <xs:element ref="sql-delete" minOccurs="0" />
680 <xs:element ref="resultset" minOccurs="0" maxOccurs="unbounded" />
681 <xs:choice minOccurs="0" maxOccurs="unbounded">
682 <xs:element ref="query" />
683 <xs:element ref="sql-query" />
684 </xs:choice>
685 </xs:sequence>
686 <xs:attribute name="entity-name" type="xs:string">
687 </xs:attribute>
688 <xs:attribute name="name" type="xs:string" />
689 <xs:attribute name="proxy" type="xs:string" />
690 <xs:attribute name="table" type="xs:string" />
691 <xs:attribute name="schema" type="xs:string" />
692 <xs:attribute name="catalog" type="xs:string" />
693 <xs:attribute name="subselect" type="xs:string" />
694 <xs:attribute name="dynamic-update" default="false" type="xs:boolean">
695 </xs:attribute>
696 <xs:attribute name="dynamic-insert" default="false" type="xs:boolean">
697 </xs:attribute>
698 <xs:attribute name="select-before-update" default="false" type="xs:boolean">
699 </xs:attribute>
700 <xs:attribute name="extends" type="xs:string" />
701 <xs:attribute name="lazy" type="xs:boolean">
702 </xs:attribute>
703 <xs:attribute name="abstract" type="xs:boolean">
704 </xs:attribute>
705 <xs:attribute name="persister" type="xs:string" />
706 <xs:attribute name="check" type="xs:string" />
707 <xs:attribute name="batch-size" type="xs:positiveInteger" />
708 <xs:attribute name="node" type="xs:string" />
709 </xs:complexType>
710 </xs:element>
711 <xs:element name="key">
712 <xs:complexType>
713 <xs:sequence>
714 <xs:element ref="column" minOccurs="0" maxOccurs="unbounded" />
715 </xs:sequence>
716 <xs:attribute name="column" type="xs:string" />
717 <xs:attribute name="property-ref" type="xs:string" />
718 <xs:attribute name="foreign-key" type="xs:string" />
719 <xs:attribute name="on-delete" default="noaction" type="ondelete">
720 </xs:attribute>
721 <xs:attribute name="not-null" type="xs:boolean">
722 </xs:attribute>
723 <xs:attribute name="update" type="xs:boolean">
724 </xs:attribute>
725 <xs:attribute name="unique" type="xs:boolean">
726 </xs:attribute>
727 </xs:complexType>
728 </xs:element>
729 <xs:element name="key-many-to-one">
730 <xs:complexType>
731 <xs:sequence>
732 <xs:element ref="meta" minOccurs="0" maxOccurs="unbounded" />
733 <xs:element ref="column" minOccurs="0" maxOccurs="unbounded" />
734 </xs:sequence>
735 <xs:attribute name="name" use="required" type="xs:string" />
736 <xs:attribute name="access" type="xs:string" />
737 <xs:attribute name="class" type="xs:string" />
738 <xs:attribute name="entity-name" type="xs:string" />
739 <xs:attribute name="column" type="xs:string" />
740 <xs:attribute name="foreign-key" type="xs:string" />
741 <xs:attribute name="lazy" type="restrictedLaziness">
742 </xs:attribute>
743 </xs:complexType>
744 </xs:element>
745 <xs:element name="key-property">
746 <xs:complexType>
747 <xs:sequence>
748 <xs:element ref="meta" minOccurs="0" maxOccurs="unbounded" />
749 <xs:element ref="column" minOccurs="0" maxOccurs="unbounded" />
750 <xs:element ref="type" minOccurs="0" />
751 </xs:sequence>
752 <xs:attribute name="name" use="required" type="xs:string" />
753 <xs:attribute name="access" type="xs:string" />
754 <xs:attribute name="type" type="xs:string" />
755 <xs:attribute name="column" type="xs:string" />
756 <xs:attribute name="length" type="xs:positiveInteger" />
757 <xs:attribute name="node" type="xs:string" />
758 </xs:complexType>
759 </xs:element>
760 <xs:element name="list">
761 <xs:complexType>
762 <xs:sequence>
763 <xs:element ref="meta" minOccurs="0" maxOccurs="unbounded" />
764 <xs:element ref="subselect" minOccurs="0" />
765 <xs:element ref="cache" minOccurs="0" />
766 <xs:element ref="synchronize" minOccurs="0" maxOccurs="unbounded" />
767 <xs:element ref="comment" minOccurs="0" />
768 <xs:element ref="key" />
769 <xs:choice>
770 <xs:element ref="index" />
771 <xs:element ref="list-index" />
772 </xs:choice>
773 <xs:choice>
774 <xs:element ref="element" />
775 <xs:element ref="one-to-many" />
776 <xs:element ref="many-to-many" />
777 <xs:element ref="composite-element" />
778 <xs:element ref="many-to-any" />
779 </xs:choice>
780 <xs:element ref="loader" minOccurs="0" />
781 <xs:element ref="sql-insert" minOccurs="0" />
782 <xs:element ref="sql-update" minOccurs="0" />
783 <xs:element ref="sql-delete" minOccurs="0" />
784 <xs:element ref="sql-delete-all" minOccurs="0" />
785 <xs:element ref="filter" minOccurs="0" maxOccurs="unbounded" />
786 </xs:sequence>
787 <xs:attributeGroup ref="baseCollectionAttributes" />
788 </xs:complexType>
789 </xs:element>
790 <xs:element name="list-index">
791 <xs:complexType>
792 <xs:sequence>
793 <xs:element ref="column" minOccurs="0" />
794 </xs:sequence>
795 <xs:attribute name="column" type="xs:string" />
796 <xs:attribute name="base" type="xs:positiveInteger" use="optional" />
797 </xs:complexType>
798 </xs:element>
799 <xs:element name="load-collection">
800 <xs:complexType>
801 <xs:sequence minOccurs="0" maxOccurs="unbounded">
802 <xs:element ref="return-property" />
803 </xs:sequence>
804 <xs:attribute name="alias" use="required" type="xs:string" />
805 <xs:attribute name="role" use="required" type="xs:string" />
806 <xs:attribute name="lock-mode" default="read" type="lockMode">
807 </xs:attribute>
808 </xs:complexType>
809 </xs:element>
810 <xs:element name="loader">
811 <xs:complexType>
812 <xs:attribute name="query-ref" use="required" type="xs:string" />
813 </xs:complexType>
814 </xs:element>
815 <xs:element name="many-to-any">
816 <xs:complexType>
817 <xs:sequence>
818 <xs:element ref="meta-value" minOccurs="0" maxOccurs="unbounded" />
819 <xs:element ref="column" maxOccurs="unbounded" />
820 </xs:sequence>
821 <xs:attribute name="column" type="xs:string" />
822 <xs:attribute name="id-type" use="required" type="xs:string" />
823 <xs:attribute name="meta-type" type="xs:string" />
824 </xs:complexType>
825 </xs:element>
826 <xs:element name="many-to-many">
827 <xs:complexType>
828 <xs:sequence>
829 <xs:element ref="meta" minOccurs="0" maxOccurs="unbounded" />
830 <xs:choice minOccurs="0" maxOccurs="unbounded">
831 <xs:element ref="column" />
832 <xs:element ref="formula" />
833 </xs:choice>
834 <xs:element ref="filter" minOccurs="0" maxOccurs="unbounded" />
835 </xs:sequence>
836 <xs:attribute name="class" type="xs:string" />
837 <xs:attribute name="node" type="xs:string" />
838 <xs:attribute name="embed-xml" default="true" type="xs:boolean">
839 </xs:attribute>
840 <xs:attribute name="entity-name" type="xs:string" />
841 <xs:attribute name="column" type="xs:string" />
842 <xs:attribute name="formula" type="xs:string" />
843 <xs:attribute name="not-found" default="exception" type="notFoundMode">
844 </xs:attribute>
845 <xs:attribute name="outer-join" type="outerJoinStrategy">
846 </xs:attribute>
847 <xs:attribute name="fetch" type="fetchMode">
848 </xs:attribute>
849 <xs:attribute name="lazy" type="restrictedLaziness">
850 </xs:attribute>
851 <xs:attribute name="foreign-key" type="xs:string" />
852 <xs:attribute name="unique" default="false" type="xs:boolean">
853 </xs:attribute>
854 <xs:attribute name="where" type="xs:string" />
855 <xs:attribute name="order-by" type="xs:string" />
856 <xs:attribute name="property-ref" type="xs:string" />
857 </xs:complexType>
858 </xs:element>
859 <xs:element name="many-to-one">
860 <xs:complexType>
861 <xs:sequence>
862 <xs:element ref="meta" minOccurs="0" maxOccurs="unbounded" />
863 <xs:choice minOccurs="0" maxOccurs="unbounded">
864 <xs:element ref="column" />
865 <xs:element ref="formula" />
866 </xs:choice>
867 </xs:sequence>
868 <xs:attribute name="name" use="required" type="xs:string" />
869 <xs:attribute name="access" type="xs:string" />
870 <xs:attribute name="class" type="xs:string" />
871 <xs:attribute name="entity-name" type="xs:string" />
872 <xs:attribute name="column" type="xs:string" />
873 <xs:attribute name="not-null" type="xs:boolean">
874 </xs:attribute>
875 <xs:attribute name="unique" default="false" type="xs:boolean">
876 </xs:attribute>
877 <xs:attribute name="unique-key" type="xs:string" />
878 <xs:attribute name="index" type="xs:string" />
879 <xs:attribute name="cascade" type="xs:string" />
880 <xs:attribute name="outer-join" type="outerJoinStrategy">
881 </xs:attribute>
882 <xs:attribute name="fetch" type="fetchMode">
883 </xs:attribute>
884 <xs:attribute name="update" default="true" type="xs:boolean">
885 </xs:attribute>
886 <xs:attribute name="insert" default="true" type="xs:boolean">
887 </xs:attribute>
888 <xs:attribute name="optimistic-lock" default="true" type="xs:boolean">
889 </xs:attribute>
890 <xs:attribute name="foreign-key" type="xs:string" />
891 <xs:attribute name="property-ref" type="xs:string" />
892 <xs:attribute name="formula" type="xs:string" />
893 <xs:attribute name="lazy" type="laziness">
894 </xs:attribute>
895 <xs:attribute name="not-found" default="exception" type="notFoundMode">
896 </xs:attribute>
897 <xs:attribute name="node" type="xs:string" />
898 <xs:attribute name="embed-xml" default="true" type="xs:boolean">
899 </xs:attribute>
900 </xs:complexType>
901 </xs:element>
902 <xs:element name="map">
903 <xs:complexType>
904 <xs:sequence>
905 <xs:element ref="meta" minOccurs="0" maxOccurs="unbounded" />
906 <xs:element ref="subselect" minOccurs="0" />
907 <xs:element ref="cache" minOccurs="0" />
908 <xs:element ref="synchronize" minOccurs="0" maxOccurs="unbounded" />
909 <xs:element ref="comment" minOccurs="0" />
910 <xs:element ref="key" />
911 <xs:choice>
912 <xs:element ref="map-key" />
913 <xs:element ref="composite-map-key" />
914 <xs:element ref="map-key-many-to-many" />
915 <xs:element ref="index" />
916 <xs:element ref="composite-index" />
917 <xs:element ref="index-many-to-many" />
918 <xs:element ref="index-many-to-any" />
919 </xs:choice>
920 <xs:choice>
921 <xs:element ref="element" />
922 <xs:element ref="one-to-many" />
923 <xs:element ref="many-to-many" />
924 <xs:element ref="composite-element" />
925 <xs:element ref="many-to-any" />
926 </xs:choice>
927 <xs:element ref="loader" minOccurs="0" />
928 <xs:element ref="sql-insert" minOccurs="0" />
929 <xs:element ref="sql-update" minOccurs="0" />
930 <xs:element ref="sql-delete" minOccurs="0" />
931 <xs:element ref="sql-delete-all" minOccurs="0" />
932 <xs:element ref="filter" minOccurs="0" maxOccurs="unbounded" />
933 </xs:sequence>
934 <xs:attributeGroup ref="baseCollectionAttributes" />
935 <xs:attribute name="sort" type="xs:string" />
936 </xs:complexType>
937 </xs:element>
938 <xs:element name="map-key">
939 <xs:complexType>
940 <xs:sequence>
941 <xs:choice minOccurs="0" maxOccurs="unbounded">
942 <xs:element ref="column" />
943 <xs:element ref="formula" />
944 </xs:choice>
945 </xs:sequence>
946 <xs:attribute name="column" type="xs:string" />
947 <xs:attribute name="formula" type="xs:string" />
948 <xs:attribute name="type" use="required" type="xs:string" />
949 <xs:attribute name="length" type="xs:positiveInteger" />
950 <xs:attribute name="node" type="xs:string" />
951 </xs:complexType>
952 </xs:element>
953 <xs:element name="map-key-many-to-many">
954 <xs:complexType>
955 <xs:sequence>
956 <xs:choice minOccurs="0" maxOccurs="unbounded">
957 <xs:element ref="column" />
958 <xs:element ref="formula" />
959 </xs:choice>
960 </xs:sequence>
961 <xs:attribute name="class" type="xs:string" />
962 <xs:attribute name="entity-name" type="xs:string" />
963 <xs:attribute name="column" type="xs:string" />
964 <xs:attribute name="formula" type="xs:string" />
965 <xs:attribute name="foreign-key" type="xs:string" />
966 </xs:complexType>
967 </xs:element>
968 <xs:element name="meta">
969 <xs:complexType mixed="true">
970 <xs:attribute name="attribute" use="required" type="xs:string" />
971 <xs:attribute name="inherit" default="true" type="xs:boolean" />
972 </xs:complexType>
973 </xs:element>
974 <xs:element name="meta-value">
975 <xs:complexType>
976 <xs:attribute name="value" use="required" type="xs:string" />
977 <xs:attribute name="class" use="required" type="xs:string" />
978 </xs:complexType>
979 </xs:element>
980 <xs:element name="natural-id">
981 <xs:complexType>
982 <xs:sequence>
983 <xs:choice minOccurs="0" maxOccurs="unbounded">
984 <xs:element ref="property" />
985 <xs:element ref="many-to-one" />
986 <xs:element ref="component" />
987 <xs:element ref="dynamic-component" />
988 <xs:element ref="any" />
989 </xs:choice>
990 </xs:sequence>
991 <xs:attribute name="mutable" default="false" type="xs:boolean">
992 </xs:attribute>
993 </xs:complexType>
994 </xs:element>
995 <xs:element name="nested-composite-element">
996 <xs:complexType>
997 <xs:sequence>
998 <xs:element ref="parent" minOccurs="0" />
999 <xs:choice minOccurs="0" maxOccurs="unbounded">
1000 <xs:element ref="property" />
1001 <xs:element ref="many-to-one" />
1002 <xs:element ref="any" />
1003 <xs:element ref="nested-composite-element" />
1004 </xs:choice>
1005 </xs:sequence>
1006 <xs:attribute name="class" use="required" type="xs:string" />
1007 <xs:attribute name="name" use="required" type="xs:string" />
1008 <xs:attribute name="access" type="xs:string" />
1009 <xs:attribute name="node" type="xs:string" />
1010 </xs:complexType>
1011 </xs:element>
1012 <xs:element name="one-to-many">
1013 <xs:complexType>
1014 <xs:attribute name="class" type="xs:string" />
1015 <xs:attribute name="not-found" default="exception" type="notFoundMode">
1016 </xs:attribute>
1017 <xs:attribute name="node" type="xs:string" />
1018 <xs:attribute name="embed-xml" default="true" type="xs:boolean">
1019 </xs:attribute>
1020 <xs:attribute name="entity-name" type="xs:string" />
1021 </xs:complexType>
1022 </xs:element>
1023 <xs:element name="one-to-one">
1024 <xs:complexType>
1025 <xs:sequence>
1026 <xs:element ref="meta" minOccurs="0" maxOccurs="unbounded" />
1027 <xs:element ref="formula" minOccurs="0" maxOccurs="unbounded" />
1028 </xs:sequence>
1029 <xs:attribute name="name" use="required" type="xs:string" />
1030 <xs:attribute name="formula" type="xs:string" />
1031 <xs:attribute name="access" type="xs:string" />
1032 <xs:attribute name="class" type="xs:string" />
1033 <xs:attribute name="entity-name" type="xs:string" />
1034 <xs:attribute name="cascade" type="xs:string" />
1035 <xs:attribute name="outer-join" type="outerJoinStrategy">
1036 </xs:attribute>
1037 <xs:attribute name="fetch" type="fetchMode">
1038 </xs:attribute>
1039 <xs:attribute name="constrained" default="false" type="xs:boolean">
1040 </xs:attribute>
1041 <xs:attribute name="foreign-key" type="xs:string" />
1042 <xs:attribute name="property-ref" type="xs:string" />
1043 <xs:attribute name="lazy" type="laziness">
1044 </xs:attribute>
1045 <xs:attribute name="node" type="xs:string" />
1046 <xs:attribute name="embed-xml" default="true" type="xs:boolean">
1047 </xs:attribute>
1048 </xs:complexType>
1049 </xs:element>
1050 <xs:element name="param">
1051 <xs:complexType mixed="true">
1052 <xs:attribute name="name" use="required" type="xs:string" />
1053 </xs:complexType>
1054 </xs:element>
1055 <xs:element name="parent">
1056 <xs:complexType>
1057 <xs:attribute name="name" use="required" type="xs:string" />
1058 </xs:complexType>
1059 </xs:element>
1060 <xs:element name="primitive-array">
1061 <xs:complexType>
1062 <xs:sequence>
1063 <xs:element ref="meta" minOccurs="0" maxOccurs="unbounded" />
1064 <xs:element ref="subselect" minOccurs="0" />
1065 <xs:element ref="cache" minOccurs="0" />
1066 <xs:element ref="synchronize" minOccurs="0" maxOccurs="unbounded" />
1067 <xs:element ref="comment" minOccurs="0" />
1068 <xs:element ref="key" />
1069 <xs:choice>
1070 <xs:element ref="index" />
1071 <xs:element ref="list-index" />
1072 </xs:choice>
1073 <xs:element ref="element" />
1074 <xs:element ref="loader" minOccurs="0" />
1075 <xs:element ref="sql-insert" minOccurs="0" />
1076 <xs:element ref="sql-update" minOccurs="0" />
1077 <xs:element ref="sql-delete" minOccurs="0" />
1078 <xs:element ref="sql-delete-all" minOccurs="0" />
1079 </xs:sequence>
1080 <xs:attribute name="name" use="required" type="xs:string">
1081 </xs:attribute>
1082 <xs:attribute name="access" type="xs:string" />
1083 <xs:attribute name="table" type="xs:string" />
1084 <xs:attribute name="schema" type="xs:string" />
1085 <xs:attribute name="catalog" type="xs:string" />
1086 <xs:attribute name="subselect" type="xs:string" />
1087 <xs:attribute name="mutable" default="true" type="xs:boolean">
1088 </xs:attribute>
1089 <xs:attribute name="where" type="xs:string" />
1090 <xs:attribute name="batch-size" type="xs:positiveInteger" />
1091 <xs:attribute name="outer-join">
1092 <xs:simpleType>
1093 <xs:restriction base="xs:string">
1094 <xs:enumeration value="true" />
1095 <xs:enumeration value="false" />
1096 <xs:enumeration value="auto" />
1097 </xs:restriction>
1098 </xs:simpleType>
1099 </xs:attribute>
1100 <xs:attribute name="fetch">
1101 <xs:simpleType>
1102 <xs:restriction base="xs:string">
1103 <xs:enumeration value="join" />
1104 <xs:enumeration value="select" />
1105 <xs:enumeration value="subselect" />
1106 </xs:restriction>
1107 </xs:simpleType>
1108 </xs:attribute>
1109 <xs:attribute name="persister" type="xs:string" />
1110 <xs:attribute name="collection-type" type="xs:string" />
1111 <xs:attribute name="check" type="xs:string" />
1112 <xs:attribute name="optimistic-lock" default="true" type="xs:boolean">
1113 </xs:attribute>
1114 <xs:attribute name="node" type="xs:string" />
1115 <xs:attribute name="embed-xml" default="true" type="xs:boolean">
1116 </xs:attribute>
1117 </xs:complexType>
1118 </xs:element>
1119 <xs:element name="properties">
1120 <xs:complexType>
1121 <xs:sequence>
1122 <xs:choice minOccurs="0" maxOccurs="unbounded">
1123 <xs:element ref="property" />
1124 <xs:element ref="many-to-one" />
1125 <xs:element ref="component" />
1126 <xs:element ref="dynamic-component" />
1127 </xs:choice>
1128 </xs:sequence>
1129 <xs:attribute name="name" use="required" type="xs:string" />
1130 <xs:attribute name="unique" default="false" type="xs:boolean">
1131 </xs:attribute>
1132 <xs:attribute name="insert" default="true" type="xs:boolean">
1133 </xs:attribute>
1134 <xs:attribute name="update" default="true" type="xs:boolean">
1135 </xs:attribute>
1136 <xs:attribute name="optimistic-lock" default="true" type="xs:boolean">
1137 </xs:attribute>
1138 <xs:attribute name="node" type="xs:string" />
1139 </xs:complexType>
1140 </xs:element>
1141 <xs:element name="property">
1142 <xs:complexType>
1143 <xs:sequence>
1144 <xs:element ref="meta" minOccurs="0" maxOccurs="unbounded" />
1145 <xs:choice minOccurs="0" maxOccurs="unbounded">
1146 <xs:element ref="column" />
1147 <xs:element ref="formula" />
1148 </xs:choice>
1149 <xs:element ref="type" minOccurs="0" />
1150 </xs:sequence>
1151 <xs:attribute name="name" use="required" type="xs:string" />
1152 <xs:attribute name="node" type="xs:string" />
1153 <xs:attribute name="access" type="xs:string" />
1154 <xs:attribute name="type" type="xs:string" />
1155 <xs:attribute name="column" type="xs:string" />
1156 <xs:attribute name="length" type="xs:positiveInteger" />
1157 <xs:attribute name="precision" type="xs:positiveInteger" />
1158 <xs:attribute name="scale" type="xs:positiveInteger" />
1159 <xs:attribute name="not-null" type="xs:boolean">
1160 </xs:attribute>
1161 <xs:attribute name="unique" default="false" type="xs:boolean">
1162 </xs:attribute>
1163 <xs:attribute name="unique-key" type="xs:string" />
1164 <xs:attribute name="index" type="xs:string" />
1165 <xs:attribute name="update" type="xs:boolean">
1166 </xs:attribute>
1167 <xs:attribute name="insert" type="xs:boolean">
1168 </xs:attribute>
1169 <xs:attribute name="optimistic-lock" default="true" type="xs:boolean">
1170 </xs:attribute>
1171 <xs:attribute name="formula" type="xs:string" />
1172 <xs:attribute name="lazy" default="false" type="xs:boolean">
1173 </xs:attribute>
1174 <xs:attribute name="generated" default="never" type="propertyGeneration">
1175 </xs:attribute>
1176 </xs:complexType>
1177 </xs:element>
1178 <xs:element name="query">
1179 <xs:complexType mixed="true">
1180 <xs:choice minOccurs="0" maxOccurs="unbounded">
1181 <xs:element ref="query-param" />
1182 </xs:choice>
1183 <xs:attribute name="name" use="required" type="xs:string" />
1184 <xs:attribute name="flush-mode" type="flushMode">
1185 </xs:attribute>
1186 <xs:attribute name="cacheable" default="false" type="xs:boolean">
1187 </xs:attribute>
1188 <xs:attribute name="cache-region" type="xs:string" />
1189 <xs:attribute name="fetch-size" type="xs:int" />
1190 <xs:attribute name="timeout" type="xs:positiveInteger" />
1191 <xs:attribute name="cache-mode" type="cacheMode">
1192 </xs:attribute>
1193 <xs:attribute name="read-only" type="xs:boolean">
1194 </xs:attribute>
1195 <xs:attribute name="comment" type="xs:string" />
1196 </xs:complexType>
1197 </xs:element>
1198 <xs:element name="query-param">
1199 <xs:complexType>
1200 <xs:attribute name="name" use="required" type="xs:string" />
1201 <xs:attribute name="type" use="required" type="xs:string" />
1202 </xs:complexType>
1203 </xs:element>
1204 <xs:element name="resultset">
1205 <xs:complexType>
1206 <xs:choice minOccurs="0" maxOccurs="unbounded">
1207 <xs:element ref="return-scalar" />
1208 <xs:element ref="return" />
1209 <xs:element ref="return-join" />
1210 <xs:element ref="load-collection" />
1211 </xs:choice>
1212 <xs:attribute name="name" use="required" type="xs:string" />
1213 </xs:complexType>
1214 </xs:element>
1215 <xs:element name="return">
1216 <xs:complexType>
1217 <xs:sequence>
1218 <xs:element ref="return-discriminator" minOccurs="0" maxOccurs="1" />
1219 <xs:element ref="return-property" minOccurs="0" maxOccurs="unbounded" />
1220 </xs:sequence>
1221 <xs:attribute name="alias" type="xs:string" />
1222 <xs:attribute name="entity-name" type="xs:string" />
1223 <xs:attribute name="class" type="xs:string" />
1224 <xs:attribute name="lock-mode" default="read" type="lockMode">
1225 </xs:attribute>
1226 </xs:complexType>
1227 </xs:element>
1228 <xs:element name="return-column">
1229 <xs:complexType>
1230 <xs:attribute name="name" use="required" type="xs:string" />
1231 </xs:complexType>
1232 </xs:element>
1233 <xs:element name="return-discriminator">
1234 <xs:complexType>
1235 <xs:attribute name="column" use="required" type="xs:string" />
1236 </xs:complexType>
1237 </xs:element>
1238 <xs:element name="return-join">
1239 <xs:complexType>
1240 <xs:sequence minOccurs="0" maxOccurs="unbounded">
1241 <xs:element ref="return-property" />
1242 </xs:sequence>
1243 <xs:attribute name="alias" use="required" type="xs:string" />
1244 <xs:attribute name="property" use="required" type="xs:string" />
1245 <xs:attribute name="lock-mode" default="read" type="lockMode">
1246 </xs:attribute>
1247 </xs:complexType>
1248 </xs:element>
1249 <xs:element name="return-property">
1250 <xs:complexType>
1251 <xs:sequence>
1252 <xs:element ref="return-column" minOccurs="0" maxOccurs="unbounded" />
1253 </xs:sequence>
1254 <xs:attribute name="name" use="required" type="xs:string" />
1255 <xs:attribute name="column" type="xs:string" />
1256 </xs:complexType>
1257 </xs:element>
1258 <xs:element name="return-scalar">
1259 <xs:complexType>
1260 <xs:attribute name="column" use="required" type="xs:string" />
1261 <xs:attribute name="type" type="xs:string" />
1262 </xs:complexType>
1263 </xs:element>
1264 <xs:element name="set">
1265 <xs:complexType>
1266 <xs:sequence>
1267 <xs:element ref="meta" minOccurs="0" maxOccurs="unbounded" />
1268 <xs:element ref="subselect" minOccurs="0" />
1269 <xs:element ref="cache" minOccurs="0" />
1270 <xs:element ref="synchronize" minOccurs="0" maxOccurs="unbounded" />
1271 <xs:element ref="comment" minOccurs="0" />
1272 <xs:element ref="key" />
1273 <xs:choice>
1274 <xs:element ref="element" />
1275 <xs:element ref="one-to-many" />
1276 <xs:element ref="many-to-many" />
1277 <xs:element ref="composite-element" />
1278 <xs:element ref="many-to-any" />
1279 </xs:choice>
1280 <xs:element ref="loader" minOccurs="0" />
1281 <xs:element ref="sql-insert" minOccurs="0" />
1282 <xs:element ref="sql-update" minOccurs="0" />
1283 <xs:element ref="sql-delete" minOccurs="0" />
1284 <xs:element ref="sql-delete-all" minOccurs="0" />
1285 <xs:element ref="filter" minOccurs="0" maxOccurs="unbounded" />
1286 </xs:sequence>
1287 <xs:attributeGroup ref="baseCollectionAttributes" />
1288 <xs:attribute name="sort" type="xs:string" />
1289 </xs:complexType>
1290 </xs:element>
1291 <xs:element name="sql-delete" type="customSQL">
1292 </xs:element>
1293 <xs:element name="sql-delete-all" type="customSQL">
1294 </xs:element>
1295 <xs:element name="sql-insert" type="customSQL">
1296 </xs:element>
1297 <xs:element name="sql-query">
1298 <xs:complexType mixed="true">
1299 <xs:choice minOccurs="0" maxOccurs="unbounded">
1300 <xs:element ref="return-scalar" />
1301 <xs:element ref="return" />
1302 <xs:element ref="return-join" />
1303 <xs:element ref="load-collection" />
1304 <xs:element ref="synchronize" />
1305 <xs:element ref="query-param" />
1306 </xs:choice>
1307 <xs:attribute name="name" use="required" type="xs:string" />
1308 <xs:attribute name="resultset-ref" type="xs:string" />
1309 <xs:attribute name="flush-mode" type="flushMode">
1310 </xs:attribute>
1311 <xs:attribute name="cacheable" default="false" type="xs:boolean">
1312 </xs:attribute>
1313 <xs:attribute name="cache-region" type="xs:string" />
1314 <xs:attribute name="fetch-size" type="xs:int" />
1315 <xs:attribute name="timeout" type="xs:positiveInteger" />
1316 <xs:attribute name="cache-mode" type="cacheMode">
1317 </xs:attribute>
1318 <xs:attribute name="read-only" type="xs:boolean">
1319 </xs:attribute>
1320 <xs:attribute name="comment" type="xs:string" />
1321 <xs:attribute name="callable" default="false" type="xs:boolean">
1322 </xs:attribute>
1323 </xs:complexType>
1324 </xs:element>
1325 <xs:element name="sql-update" type="customSQL">
1326 </xs:element>
1327 <xs:element name="subclass">
1328 <xs:complexType>
1329 <xs:sequence>
1330 <xs:element ref="meta" minOccurs="0" maxOccurs="unbounded" />
1331 <xs:element ref="tuplizer" minOccurs="0" maxOccurs="unbounded" />
1332 <xs:element ref="synchronize" minOccurs="0" maxOccurs="unbounded" />
1333 <xs:choice minOccurs="0" maxOccurs="unbounded">
1334 <xs:element ref="property" />
1335 <xs:element ref="many-to-one" />
1336 <xs:element ref="one-to-one" />
1337 <xs:element ref="component" />
1338 <xs:element ref="dynamic-component" />
1339 <xs:element ref="any" />
1340 <xs:element ref="map" />
1341 <xs:element ref="set" />
1342 <xs:element ref="list" />
1343 <xs:element ref="bag" />
1344 <xs:element ref="idbag" />
1345 <xs:element ref="array" />
1346 <xs:element ref="primitive-array" />
1347 </xs:choice>
1348 <xs:element ref="join" minOccurs="0" maxOccurs="unbounded" />
1349 <xs:element ref="subclass" minOccurs="0" maxOccurs="unbounded" />
1350 <xs:element ref="loader" minOccurs="0" />
1351 <xs:element ref="sql-insert" minOccurs="0" />
1352 <xs:element ref="sql-update" minOccurs="0" />
1353 <xs:element ref="sql-delete" minOccurs="0" />
1354 <xs:element ref="resultset" minOccurs="0" maxOccurs="unbounded" />
1355 <xs:choice minOccurs="0" maxOccurs="unbounded">
1356 <xs:element ref="query" />
1357 <xs:element ref="sql-query" />
1358 </xs:choice>
1359 </xs:sequence>
1360 <xs:attribute name="entity-name" type="xs:string" />
1361 <xs:attribute name="name" type="xs:string" />
1362 <xs:attribute name="proxy" type="xs:string" />
1363 <xs:attribute name="discriminator-value" type="xs:string" />
1364 <xs:attribute name="dynamic-update" default="false" type="xs:boolean">
1365 </xs:attribute>
1366 <xs:attribute name="dynamic-insert" default="false" type="xs:boolean">
1367 </xs:attribute>
1368 <xs:attribute name="select-before-update" default="false" type="xs:boolean">
1369 </xs:attribute>
1370 <xs:attribute name="extends" type="xs:string" />
1371 <xs:attribute name="lazy" type="xs:boolean">
1372 </xs:attribute>
1373 <xs:attribute name="abstract" type="xs:boolean">
1374 </xs:attribute>
1375 <xs:attribute name="persister" type="xs:string" />
1376 <xs:attribute name="batch-size" type="xs:positiveInteger" />
1377 <xs:attribute name="node" type="xs:string" />
1378 </xs:complexType>
1379 </xs:element>
1380 <xs:element name="subselect">
1381 <xs:complexType mixed="true">
1382 </xs:complexType>
1383 </xs:element>
1384 <xs:element name="synchronize">
1385 <xs:complexType>
1386 <xs:attribute name="table" use="required" type="xs:string" />
1387 </xs:complexType>
1388 </xs:element>
1389 <xs:element name="timestamp">
1390 <xs:complexType>
1391 <xs:sequence>
1392 <xs:element ref="meta" minOccurs="0" maxOccurs="unbounded" />
1393 </xs:sequence>
1394 <xs:attribute name="name" use="required" type="xs:string" />
1395 <xs:attribute name="node" type="xs:string" />
1396 <xs:attribute name="column" type="xs:string" />
1397 <xs:attribute name="access" type="xs:string" />
1398 <xs:attribute name="unsaved-value">
1399 <xs:simpleType>
1400 <xs:restriction base="xs:string">
1401 <xs:enumeration value="null" />
1402 <xs:enumeration value="undefined" />
1403 </xs:restriction>
1404 </xs:simpleType>
1405 </xs:attribute>
1406 <xs:attribute name="source" default="vm">
1407 <xs:simpleType>
1408 <xs:restriction base="xs:string">
1409 <xs:enumeration value="vm" />
1410 <xs:enumeration value="db" />
1411 </xs:restriction>
1412 </xs:simpleType>
1413 </xs:attribute>
1414 <xs:attribute name="generated" default="never" type="versionGeneration">
1415 </xs:attribute>
1416 </xs:complexType>
1417 </xs:element>
1418 <xs:element name="tuplizer">
1419 <xs:complexType>
1420 <xs:attribute name="entity-mode">
1421 <xs:simpleType>
1422 <xs:restriction base="xs:string">
1423 <xs:enumeration value="poco" />
1424 <xs:enumeration value="xml" />
1425 <xs:enumeration value="dynamic-map" />
1426 </xs:restriction>
1427 </xs:simpleType>
1428 </xs:attribute>
1429 <xs:attribute name="class" use="required" type="xs:string" />
1430 </xs:complexType>
1431 </xs:element>
1432 <xs:element name="type">
1433 <xs:complexType>
1434 <xs:sequence>
1435 <xs:element ref="param" minOccurs="0" maxOccurs="unbounded" />
1436 </xs:sequence>
1437 <xs:attribute name="name" use="required" type="xs:string" />
1438 </xs:complexType>
1439 </xs:element>
1440 <xs:element name="typedef">
1441 <xs:complexType>
1442 <xs:sequence>
1443 <xs:element ref="param" minOccurs="0" maxOccurs="unbounded" />
1444 </xs:sequence>
1445 <xs:attribute name="class" use="required" type="xs:string" />
1446 <xs:attribute name="name" use="required" type="xs:string" />
1447 </xs:complexType>
1448 </xs:element>
1449 <xs:element name="union-subclass">
1450 <xs:complexType>
1451 <xs:sequence>
1452 <xs:element ref="meta" minOccurs="0" maxOccurs="unbounded" />
1453 <xs:element ref="subselect" minOccurs="0" />
1454 <xs:element ref="synchronize" minOccurs="0" maxOccurs="unbounded" />
1455 <xs:element ref="comment" minOccurs="0" />
1456 <xs:element ref="tuplizer" minOccurs="0" maxOccurs="unbounded" />
1457 <xs:choice minOccurs="0" maxOccurs="unbounded">
1458 <xs:element ref="property" />
1459 <xs:element ref="many-to-one" />
1460 <xs:element ref="one-to-one" />
1461 <xs:element ref="component" />
1462 <xs:element ref="dynamic-component" />
1463 <xs:element ref="properties" />
1464 <xs:element ref="any" />
1465 <xs:element ref="map" />
1466 <xs:element ref="set" />
1467 <xs:element ref="list" />
1468 <xs:element ref="bag" />
1469 <xs:element ref="idbag" />
1470 <xs:element ref="array" />
1471 <xs:element ref="primitive-array" />
1472 </xs:choice>
1473 <xs:element ref="union-subclass" minOccurs="0" maxOccurs="unbounded" />
1474 <xs:element ref="loader" minOccurs="0" />
1475 <xs:element ref="sql-insert" minOccurs="0" />
1476 <xs:element ref="sql-update" minOccurs="0" />
1477 <xs:element ref="sql-delete" minOccurs="0" />
1478 <xs:element ref="resultset" minOccurs="0" maxOccurs="unbounded" />
1479 <xs:choice minOccurs="0" maxOccurs="unbounded">
1480 <xs:element ref="query" />
1481 <xs:element ref="sql-query" />
1482 </xs:choice>
1483 </xs:sequence>
1484 <xs:attribute name="entity-name" type="xs:string" />
1485 <xs:attribute name="name" type="xs:string" />
1486 <xs:attribute name="proxy" type="xs:string" />
1487 <xs:attribute name="table" type="xs:string" />
1488 <xs:attribute name="schema" type="xs:string" />
1489 <xs:attribute name="catalog" type="xs:string" />
1490 <xs:attribute name="subselect" type="xs:string" />
1491 <xs:attribute name="dynamic-update" default="false" type="xs:boolean">
1492 </xs:attribute>
1493 <xs:attribute name="dynamic-insert" default="false" type="xs:boolean">
1494 </xs:attribute>
1495 <xs:attribute name="select-before-update" default="false" type="xs:boolean">
1496 </xs:attribute>
1497 <xs:attribute name="extends" type="xs:string" />
1498 <xs:attribute name="lazy" type="xs:boolean">
1499 </xs:attribute>
1500 <xs:attribute name="abstract" type="xs:boolean">
1501 </xs:attribute>
1502 <xs:attribute name="persister" type="xs:string" />
1503 <xs:attribute name="check" type="xs:string" />
1504 <xs:attribute name="batch-size" type="xs:positiveInteger" />
1505 <xs:attribute name="node" type="xs:string" />
1506 </xs:complexType>
1507 </xs:element>
1508 <xs:element name="version">
1509 <xs:complexType>
1510 <xs:sequence>
1511 <xs:element ref="meta" minOccurs="0" maxOccurs="unbounded" />
1512 <xs:element ref="column" minOccurs="0" maxOccurs="unbounded" />
1513 </xs:sequence>
1514 <xs:attribute name="name" use="required" type="xs:string" />
1515 <xs:attribute name="node" type="xs:string" />
1516 <xs:attribute name="access" type="xs:string" />
1517 <xs:attribute name="column" type="xs:string" />
1518 <xs:attribute name="type" default="Int32" type="xs:string" />
1519 <xs:attribute name="unsaved-value" type="xs:string">
1520 <xs:annotation>
1521 <xs:documentation>undefined|any|none|null|0|-1|... </xs:documentation>
1522 </xs:annotation>
1523 </xs:attribute>
1524 <xs:attribute name="generated" default="never" type="versionGeneration">
1525 </xs:attribute>
1526 <xs:attribute name="insert" type="xs:boolean">
1527 </xs:attribute>
1528 </xs:complexType>
1529 </xs:element>
1530 <xs:simpleType name="outerJoinStrategy">
1531 <xs:restriction base="xs:string">
1532 <xs:enumeration value="auto" />
1533 <xs:enumeration value="true" />
1534 <xs:enumeration value="false" />
1535 </xs:restriction>
1536 </xs:simpleType>
1537 <xs:simpleType name="collectionFetchMode">
1538 <xs:restriction base="xs:string">
1539 <xs:enumeration value="select" />
1540 <xs:enumeration value="join" />
1541 <xs:enumeration value="subselect" />
1542 </xs:restriction>
1543 </xs:simpleType>
1544 <xs:simpleType name="collectionLazy">
1545 <xs:restriction base="xs:string">
1546 <xs:enumeration value="true" />
1547 <xs:enumeration value="false" />
1548 <xs:enumeration value="extra" />
1549 </xs:restriction>
1550 </xs:simpleType>
1551 <xs:attributeGroup name="baseCollectionAttributes">
1552 <xs:attribute name="name" use="required" type="xs:string" />
1553 <xs:attribute name="access" type="xs:string" />
1554 <xs:attribute name="table" type="xs:string" />
1555 <xs:attribute name="schema" type="xs:string" />
1556 <xs:attribute name="catalog" type="xs:string" />
1557 <xs:attribute name="subselect" type="xs:string" />
1558 <xs:attribute name="lazy" type="collectionLazy">
1559 </xs:attribute>
1560 <xs:attribute name="inverse" default="false" type="xs:boolean">
1561 </xs:attribute>
1562 <xs:attribute name="mutable" default="true" type="xs:boolean">
1563 </xs:attribute>
1564 <xs:attribute name="cascade" type="xs:string" />
1565 <xs:attribute name="order-by" type="xs:string" />
1566 <xs:attribute name="where" type="xs:string" />
1567 <xs:attribute name="batch-size" type="xs:int" />
1568 <xs:attribute name="outer-join" type="outerJoinStrategy">
1569 </xs:attribute>
1570 <xs:attribute name="fetch" type="collectionFetchMode">
1571 </xs:attribute>
1572 <xs:attribute name="persister" type="xs:string" />
1573 <xs:attribute name="collection-type" type="xs:string" />
1574 <xs:attribute name="check" type="xs:string" />
1575 <xs:attribute name="optimistic-lock" default="true" type="xs:boolean">
1576 </xs:attribute>
1577 <xs:attribute name="node" type="xs:string" />
1578 <xs:attribute name="embed-xml" default="true" type="xs:boolean">
1579 </xs:attribute>
1580 <xs:attribute name="generic" type="xs:boolean" use="optional">
1581 <xs:annotation>
1582 <xs:documentation>The concrete collection should use a generic version or an object-based version.</xs:documentation>
1583 </xs:annotation>
1584 </xs:attribute>
1585 </xs:attributeGroup>
1586 <xs:simpleType name="optimisticLockMode">
1587 <xs:restriction base="xs:string">
1588 <xs:enumeration value="none" />
1589 <xs:enumeration value="version" />
1590 <xs:enumeration value="dirty" />
1591 <xs:enumeration value="all" />
1592 </xs:restriction>
1593 </xs:simpleType>
1594 <xs:simpleType name="polymorphismType">
1595 <xs:annotation>
1596 <xs:documentation>Types of polymorphism</xs:documentation>
1597 </xs:annotation>
1598 <xs:restriction base="xs:string">
1599 <xs:enumeration value="implicit" />
1600 <xs:enumeration value="explicit" />
1601 </xs:restriction>
1602 </xs:simpleType>
1603 <xs:simpleType name="unsavedValueType">
1604 <xs:restriction base="xs:string">
1605 <xs:enumeration value="undefined" />
1606 <xs:enumeration value="any" />
1607 <xs:enumeration value="none" />
1608 </xs:restriction>
1609 </xs:simpleType>
1610 <xs:simpleType name="ondelete">
1611 <xs:restriction base="xs:string">
1612 <xs:enumeration value="cascade" />
1613 <xs:enumeration value="noaction" />
1614 </xs:restriction>
1615 </xs:simpleType>
1616 <xs:simpleType name="restrictedLaziness">
1617 <xs:restriction base="xs:string">
1618 <xs:enumeration value="false" />
1619 <xs:enumeration value="proxy" />
1620 </xs:restriction>
1621 </xs:simpleType>
1622 <xs:simpleType name="lockMode">
1623 <xs:restriction base="xs:string">
1624 <xs:enumeration value="none" />
1625 <xs:enumeration value="read" />
1626 <xs:enumeration value="upgrade" />
1627 <xs:enumeration value="upgrade-nowait" />
1628 <xs:enumeration value="write" />
1629 </xs:restriction>
1630 </xs:simpleType>
1631 <xs:simpleType name="notFoundMode">
1632 <xs:restriction base="xs:string">
1633 <xs:enumeration value="ignore" />
1634 <xs:enumeration value="exception" />
1635 </xs:restriction>
1636 </xs:simpleType>
1637 <xs:simpleType name="fetchMode">
1638 <xs:restriction base="xs:string">
1639 <xs:enumeration value="select" />
1640 <xs:enumeration value="join" />
1641 </xs:restriction>
1642 </xs:simpleType>
1643 <xs:simpleType name="laziness">
1644 <xs:restriction base="xs:string">
1645 <xs:enumeration value="false" />
1646 <xs:enumeration value="proxy" />
1647 <xs:enumeration value="no-proxy" />
1648 </xs:restriction>
1649 </xs:simpleType>
1650 <xs:simpleType name="propertyGeneration">
1651 <xs:restriction base="xs:string">
1652 <xs:enumeration value="never" />
1653 <xs:enumeration value="insert" />
1654 <xs:enumeration value="always" />
1655 </xs:restriction>
1656 </xs:simpleType>
1657 <xs:simpleType name="flushMode">
1658 <xs:restriction base="xs:string">
1659 <xs:enumeration value="auto" />
1660 <xs:enumeration value="never" />
1661 <xs:enumeration value="always" />
1662 </xs:restriction>
1663 </xs:simpleType>
1664 <xs:simpleType name="cacheMode">
1665 <xs:restriction base="xs:string">
1666 <xs:enumeration value="get" />
1667 <xs:enumeration value="ignore" />
1668 <xs:enumeration value="normal" />
1669 <xs:enumeration value="put" />
1670 <xs:enumeration value="refresh" />
1671 </xs:restriction>
1672 </xs:simpleType>
1673 <xs:simpleType name="customSQLCheck">
1674 <xs:restriction base="xs:string">
1675 <xs:enumeration value="none" />
1676 <xs:enumeration value="rowcount" />
1677 <xs:enumeration value="param" />
1678 </xs:restriction>
1679 </xs:simpleType>
1680 <xs:complexType name="customSQL" mixed="true">
1681 <xs:attribute name="callable" type="xs:boolean" />
1682 <xs:attribute name="check" type="customSQLCheck" use="optional" />
1683 </xs:complexType>
1684 <xs:simpleType name="versionGeneration">
1685 <xs:restriction base="xs:string">
1686 <xs:enumeration value="never" />
1687 <xs:enumeration value="always" />
1688 </xs:restriction>
1689 </xs:simpleType>
1690</xs:schema>