Merge pull request #899 from stephenwaite/admin_fix
[openemr.git] / vendor / doctrine / orm / doctrine-mapping.xsd
blob6a7e2a284833526326c50d1da4fce1f96c1dc65f
1 <?xml version="1.0" encoding="UTF-8"?>
3 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
4 targetNamespace="http://doctrine-project.org/schemas/orm/doctrine-mapping"
5 xmlns:orm="http://doctrine-project.org/schemas/orm/doctrine-mapping"
6 elementFormDefault="qualified">
8 <xs:annotation>
9 <xs:documentation><![CDATA[
10 This is the XML Schema for the object/relational
11 mapping file used by the Doctrine ORM.
12 ]]></xs:documentation>
13 </xs:annotation>
15 <xs:element name="doctrine-mapping">
16 <xs:complexType>
17 <xs:sequence>
18 <xs:element name="mapped-superclass" type="orm:mapped-superclass" minOccurs="0" maxOccurs="unbounded" />
19 <xs:element name="entity" type="orm:entity" minOccurs="0" maxOccurs="unbounded" />
20 <xs:element name="embeddable" type="orm:embeddable" minOccurs="0" maxOccurs="unbounded" />
21 <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
22 </xs:sequence>
23 <xs:anyAttribute namespace="##other"/>
24 </xs:complexType>
25 </xs:element>
27 <xs:complexType name="emptyType">
28 <xs:sequence>
29 <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
30 </xs:sequence>
31 <xs:anyAttribute namespace="##other"/>
32 </xs:complexType>
34 <xs:complexType name="cascade-type">
35 <xs:sequence>
36 <xs:element name="cascade-all" type="orm:emptyType" minOccurs="0"/>
37 <xs:element name="cascade-persist" type="orm:emptyType" minOccurs="0"/>
38 <xs:element name="cascade-merge" type="orm:emptyType" minOccurs="0"/>
39 <xs:element name="cascade-remove" type="orm:emptyType" minOccurs="0"/>
40 <xs:element name="cascade-refresh" type="orm:emptyType" minOccurs="0"/>
41 <xs:element name="cascade-detach" type="orm:emptyType" minOccurs="0"/>
42 <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
43 </xs:sequence>
44 <xs:anyAttribute namespace="##other"/>
45 </xs:complexType>
47 <xs:simpleType name="lifecycle-callback-type">
48 <xs:restriction base="xs:token">
49 <xs:enumeration value="prePersist"/>
50 <xs:enumeration value="postPersist"/>
51 <xs:enumeration value="preUpdate"/>
52 <xs:enumeration value="postUpdate"/>
53 <xs:enumeration value="preRemove"/>
54 <xs:enumeration value="postRemove"/>
55 <xs:enumeration value="postLoad"/>
56 <xs:enumeration value="preFlush"/>
57 </xs:restriction>
58 </xs:simpleType>
60 <xs:simpleType name="cache-usage-type">
61 <xs:restriction base="xs:token">
62 <xs:enumeration value="READ_ONLY"/>
63 <xs:enumeration value="READ_WRITE"/>
64 <xs:enumeration value="NONSTRICT_READ_WRITE"/>
65 </xs:restriction>
66 </xs:simpleType>
68 <xs:complexType name="lifecycle-callback">
69 <xs:sequence>
70 <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
71 </xs:sequence>
72 <xs:attribute name="type" type="orm:lifecycle-callback-type" use="required" />
73 <xs:attribute name="method" type="xs:NMTOKEN" use="required" />
74 <xs:anyAttribute namespace="##other"/>
75 </xs:complexType>
77 <xs:complexType name="lifecycle-callbacks">
78 <xs:sequence>
79 <xs:element name="lifecycle-callback" type="orm:lifecycle-callback" minOccurs="1" maxOccurs="unbounded" />
80 <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
81 </xs:sequence>
82 <xs:anyAttribute namespace="##other"/>
83 </xs:complexType>
85 <xs:complexType name="named-query">
86 <xs:attribute name="name" type="xs:string" use="required" />
87 <xs:attribute name="query" type="xs:string" use="required" />
88 <xs:anyAttribute namespace="##other"/>
89 </xs:complexType>
91 <xs:complexType name="named-queries">
92 <xs:sequence>
93 <xs:element name="named-query" type="orm:named-query" minOccurs="1" maxOccurs="unbounded" />
94 <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
95 </xs:sequence>
96 </xs:complexType>
98 <xs:complexType name="named-native-query">
99 <xs:sequence>
100 <xs:element name="query" type="xs:string" minOccurs="1" maxOccurs="1"/>
101 <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
102 </xs:sequence>
103 <xs:attribute name="name" type="xs:string" use="required" />
104 <xs:attribute name="result-class" type="xs:string" />
105 <xs:attribute name="result-set-mapping" type="xs:string" />
106 </xs:complexType>
108 <xs:complexType name="named-native-queries">
109 <xs:sequence>
110 <xs:element name="named-native-query" type="orm:named-native-query" minOccurs="1" maxOccurs="unbounded" />
111 <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
112 </xs:sequence>
113 </xs:complexType>
115 <xs:complexType name="entity-listener">
116 <xs:sequence>
117 <xs:element name="lifecycle-callback" type="orm:lifecycle-callback" minOccurs="0" maxOccurs="unbounded"/>
118 <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
119 </xs:sequence>
120 <xs:attribute name="class" type="xs:string"/>
121 </xs:complexType>
123 <xs:complexType name="entity-listeners">
124 <xs:sequence>
125 <xs:element name="entity-listener" type="orm:entity-listener" minOccurs="1" maxOccurs="unbounded" />
126 </xs:sequence>
127 </xs:complexType>
129 <xs:complexType name="column-result">
130 <xs:attribute name="name" type="xs:string" use="required" />
131 </xs:complexType>
133 <xs:complexType name="field-result">
134 <xs:attribute name="name" type="xs:string" use="required" />
135 <xs:attribute name="column" type="xs:string" />
136 </xs:complexType>
138 <xs:complexType name="entity-result">
139 <xs:sequence>
140 <xs:element name="field-result" type="orm:field-result" minOccurs="0" maxOccurs="unbounded" />
141 </xs:sequence>
142 <xs:attribute name="entity-class" type="xs:string" use="required" />
143 <xs:attribute name="discriminator-column" type="xs:string" use="optional" />
144 </xs:complexType>
146 <xs:complexType name="sql-result-set-mapping">
147 <xs:sequence>
148 <xs:choice minOccurs="0" maxOccurs="unbounded">
149 <xs:element name="entity-result" type="orm:entity-result"/>
150 <xs:element name="column-result" type="orm:column-result"/>
151 <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
152 </xs:choice>
153 <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
154 </xs:sequence>
155 <xs:attribute name="name" type="xs:string" use="required" />
156 </xs:complexType>
158 <xs:complexType name="sql-result-set-mappings">
159 <xs:sequence>
160 <xs:element name="sql-result-set-mapping" type="orm:sql-result-set-mapping" minOccurs="1" maxOccurs="unbounded" />
161 </xs:sequence>
162 </xs:complexType>
164 <xs:complexType name="cache">
165 <xs:attribute name="usage" type="orm:cache-usage-type" />
166 <xs:attribute name="region" type="xs:string" />
167 </xs:complexType>
169 <xs:complexType name="entity">
170 <xs:sequence>
171 <xs:element name="cache" type="orm:cache" minOccurs="0" maxOccurs="1"/>
172 <xs:element name="options" type="orm:options" minOccurs="0" />
173 <xs:element name="indexes" type="orm:indexes" minOccurs="0"/>
174 <xs:element name="unique-constraints" type="orm:unique-constraints" minOccurs="0"/>
175 <xs:element name="discriminator-column" type="orm:discriminator-column" minOccurs="0"/>
176 <xs:element name="discriminator-map" type="orm:discriminator-map" minOccurs="0"/>
177 <xs:element name="lifecycle-callbacks" type="orm:lifecycle-callbacks" minOccurs="0" maxOccurs="1" />
178 <xs:element name="entity-listeners" type="orm:entity-listeners" minOccurs="0" maxOccurs="1" />
179 <xs:element name="named-queries" type="orm:named-queries" minOccurs="0" maxOccurs="1" />
180 <xs:element name="named-native-queries" type="orm:named-native-queries" minOccurs="0" maxOccurs="1" />
181 <xs:element name="sql-result-set-mappings" type="orm:sql-result-set-mappings" minOccurs="0" maxOccurs="unbounded" />
182 <xs:element name="id" type="orm:id" minOccurs="0" maxOccurs="unbounded" />
183 <xs:element name="field" type="orm:field" minOccurs="0" maxOccurs="unbounded"/>
184 <xs:element name="embedded" type="orm:embedded" minOccurs="0" maxOccurs="unbounded"/>
185 <xs:element name="one-to-one" type="orm:one-to-one" minOccurs="0" maxOccurs="unbounded"/>
186 <xs:element name="one-to-many" type="orm:one-to-many" minOccurs="0" maxOccurs="unbounded" />
187 <xs:element name="many-to-one" type="orm:many-to-one" minOccurs="0" maxOccurs="unbounded" />
188 <xs:element name="many-to-many" type="orm:many-to-many" minOccurs="0" maxOccurs="unbounded" />
189 <xs:element name="association-overrides" type="orm:association-overrides" minOccurs="0" maxOccurs="unbounded" />
190 <xs:element name="attribute-overrides" type="orm:attribute-overrides" minOccurs="0" maxOccurs="unbounded" />
191 <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
192 </xs:sequence>
193 <xs:attribute name="name" type="xs:string" use="required" />
194 <xs:attribute name="table" type="xs:NMTOKEN" />
195 <xs:attribute name="schema" type="xs:NMTOKEN" />
196 <xs:attribute name="repository-class" type="xs:string"/>
197 <xs:attribute name="inheritance-type" type="orm:inheritance-type"/>
198 <xs:attribute name="change-tracking-policy" type="orm:change-tracking-policy" />
199 <xs:attribute name="read-only" type="xs:boolean" default="false" />
200 <xs:anyAttribute namespace="##other"/>
201 </xs:complexType>
203 <xs:complexType name="option" mixed="true">
204 <xs:sequence minOccurs="0" maxOccurs="unbounded">
205 <xs:element name="option" type="orm:option"/>
206 <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
207 </xs:sequence>
208 <xs:attribute name="name" type="xs:NMTOKEN" use="required"/>
209 <xs:anyAttribute namespace="##other"/>
210 </xs:complexType>
212 <xs:complexType name="options">
213 <xs:sequence>
214 <xs:element name="option" type="orm:option" minOccurs="0" maxOccurs="unbounded"/>
215 <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
216 </xs:sequence>
217 <xs:anyAttribute namespace="##other"/>
218 </xs:complexType>
220 <xs:complexType name="mapped-superclass" >
221 <xs:complexContent>
222 <xs:extension base="orm:entity">
223 <xs:sequence>
224 <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
225 </xs:sequence>
226 <xs:anyAttribute namespace="##other"/>
227 </xs:extension>
228 </xs:complexContent>
229 </xs:complexType>
231 <xs:complexType name="embeddable">
232 <xs:complexContent>
233 <xs:extension base="orm:entity">
234 <xs:sequence>
235 <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
236 </xs:sequence>
237 </xs:extension>
238 </xs:complexContent>
239 </xs:complexType>
241 <xs:simpleType name="change-tracking-policy">
242 <xs:restriction base="xs:token">
243 <xs:enumeration value="DEFERRED_IMPLICIT"/>
244 <xs:enumeration value="DEFERRED_EXPLICIT"/>
245 <xs:enumeration value="NOTIFY"/>
246 </xs:restriction>
247 </xs:simpleType>
249 <xs:simpleType name="inheritance-type">
250 <xs:restriction base="xs:token">
251 <xs:enumeration value="SINGLE_TABLE"/>
252 <xs:enumeration value="JOINED"/>
253 <xs:enumeration value="TABLE_PER_CLASS"/>
254 </xs:restriction>
255 </xs:simpleType>
257 <xs:simpleType name="generator-strategy">
258 <xs:restriction base="xs:token">
259 <xs:enumeration value="NONE"/>
260 <xs:enumeration value="TABLE"/>
261 <xs:enumeration value="SEQUENCE"/>
262 <xs:enumeration value="IDENTITY"/>
263 <xs:enumeration value="AUTO"/>
264 <xs:enumeration value="UUID"/>
265 <xs:enumeration value="CUSTOM" />
266 </xs:restriction>
267 </xs:simpleType>
269 <xs:simpleType name="fk-action">
270 <xs:restriction base="xs:token">
271 <xs:enumeration value="CASCADE"/>
272 <xs:enumeration value="RESTRICT"/>
273 <xs:enumeration value="SET NULL"/>
274 </xs:restriction>
275 </xs:simpleType>
277 <xs:simpleType name="fetch-type">
278 <xs:restriction base="xs:token">
279 <xs:enumeration value="EAGER"/>
280 <xs:enumeration value="LAZY"/>
281 <xs:enumeration value="EXTRA_LAZY"/>
282 </xs:restriction>
283 </xs:simpleType>
285 <xs:complexType name="field">
286 <xs:sequence>
287 <xs:element name="options" type="orm:options" minOccurs="0" />
288 <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
289 </xs:sequence>
290 <xs:attribute name="name" type="xs:NMTOKEN" use="required" />
291 <xs:attribute name="type" type="xs:NMTOKEN" default="string" />
292 <xs:attribute name="column" type="xs:NMTOKEN" />
293 <xs:attribute name="length" type="xs:NMTOKEN" />
294 <xs:attribute name="unique" type="xs:boolean" default="false" />
295 <xs:attribute name="nullable" type="xs:boolean" default="false" />
296 <xs:attribute name="version" type="xs:boolean" />
297 <xs:attribute name="column-definition" type="xs:string" />
298 <xs:attribute name="precision" type="xs:integer" use="optional" />
299 <xs:attribute name="scale" type="xs:integer" use="optional" />
300 <xs:anyAttribute namespace="##other"/>
301 </xs:complexType>
303 <xs:complexType name="embedded">
304 <xs:attribute name="name" type="xs:string" use="required" />
305 <xs:attribute name="class" type="xs:string" use="required" />
306 <xs:attribute name="column-prefix" type="xs:string" use="optional" />
307 <xs:attribute name="use-column-prefix" type="xs:boolean" default="true" use="optional" />
308 </xs:complexType>
310 <xs:complexType name="discriminator-column">
311 <xs:sequence>
312 <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
313 </xs:sequence>
314 <xs:attribute name="name" type="xs:NMTOKEN" use="required" />
315 <xs:attribute name="type" type="xs:NMTOKEN"/>
316 <xs:attribute name="field-name" type="xs:NMTOKEN" />
317 <xs:attribute name="length" type="xs:NMTOKEN" />
318 <xs:attribute name="column-definition" type="xs:string" />
319 <xs:anyAttribute namespace="##other"/>
320 </xs:complexType>
322 <xs:complexType name="unique-constraint">
323 <xs:sequence>
324 <xs:element name="options" type="orm:options" minOccurs="0" />
325 <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
326 </xs:sequence>
327 <xs:attribute name="name" type="xs:NMTOKEN" use="optional"/>
328 <xs:attribute name="columns" type="xs:string" use="required"/>
329 <xs:anyAttribute namespace="##other"/>
330 </xs:complexType>
332 <xs:complexType name="unique-constraints">
333 <xs:sequence>
334 <xs:element name="unique-constraint" type="orm:unique-constraint" minOccurs="1" maxOccurs="unbounded"/>
335 <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
336 </xs:sequence>
337 <xs:anyAttribute namespace="##other"/>
338 </xs:complexType>
340 <xs:complexType name="index">
341 <xs:sequence>
342 <xs:element name="options" type="orm:options" minOccurs="0" />
343 <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
344 </xs:sequence>
345 <xs:attribute name="name" type="xs:NMTOKEN" use="optional"/>
346 <xs:attribute name="columns" type="xs:string" use="required"/>
347 <xs:attribute name="flags" type="xs:string" use="optional"/>
348 <xs:anyAttribute namespace="##other"/>
349 </xs:complexType>
351 <xs:complexType name="indexes">
352 <xs:sequence>
353 <xs:element name="index" type="orm:index" minOccurs="1" maxOccurs="unbounded"/>
354 <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
355 </xs:sequence>
356 <xs:anyAttribute namespace="##other"/>
357 </xs:complexType>
359 <xs:complexType name="discriminator-mapping">
360 <xs:sequence>
361 <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
362 </xs:sequence>
363 <xs:attribute name="value" type="xs:NMTOKEN" use="required"/>
364 <xs:attribute name="class" type="xs:string" use="required"/>
365 <xs:anyAttribute namespace="##other"/>
366 </xs:complexType>
368 <xs:complexType name="discriminator-map">
369 <xs:sequence>
370 <xs:element name="discriminator-mapping" type="orm:discriminator-mapping" minOccurs="1" maxOccurs="unbounded"/>
371 <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
372 </xs:sequence>
373 <xs:anyAttribute namespace="##other"/>
374 </xs:complexType>
376 <xs:complexType name="generator">
377 <xs:sequence>
378 <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
379 </xs:sequence>
380 <xs:attribute name="strategy" type="orm:generator-strategy" use="optional" default="AUTO" />
381 <xs:anyAttribute namespace="##other"/>
382 </xs:complexType>
384 <xs:complexType name="id">
385 <xs:sequence>
386 <xs:element name="generator" type="orm:generator" minOccurs="0" />
387 <xs:element name="sequence-generator" type="orm:sequence-generator" minOccurs="0" maxOccurs="1" />
388 <xs:element name="custom-id-generator" type="orm:custom-id-generator" minOccurs="0" maxOccurs="1" />
389 <xs:element name="options" type="orm:options" minOccurs="0" />
390 <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
391 </xs:sequence>
392 <xs:attribute name="name" type="xs:NMTOKEN" use="required" />
393 <xs:attribute name="type" type="xs:NMTOKEN" />
394 <xs:attribute name="column" type="xs:NMTOKEN" />
395 <xs:attribute name="length" type="xs:NMTOKEN" />
396 <xs:attribute name="association-key" type="xs:boolean" default="false" />
397 <xs:attribute name="column-definition" type="xs:string" />
398 <xs:anyAttribute namespace="##other"/>
399 </xs:complexType>
401 <xs:complexType name="sequence-generator">
402 <xs:sequence>
403 <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
404 </xs:sequence>
405 <xs:attribute name="sequence-name" type="xs:NMTOKEN" use="required" />
406 <xs:attribute name="allocation-size" type="xs:integer" use="optional" default="1" />
407 <xs:attribute name="initial-value" type="xs:integer" use="optional" default="1" />
408 <xs:anyAttribute namespace="##other"/>
409 </xs:complexType>
411 <xs:complexType name="custom-id-generator">
412 <xs:sequence>
413 <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
414 </xs:sequence>
415 <xs:attribute name="class" type="xs:NMTOKEN" use="required" />
416 </xs:complexType>
418 <xs:complexType name="inverse-join-columns">
419 <xs:sequence>
420 <xs:element name="join-column" type="orm:join-column" minOccurs="1" maxOccurs="unbounded" />
421 <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
422 </xs:sequence>
423 <xs:anyAttribute namespace="##other"/>
424 </xs:complexType>
426 <xs:complexType name="join-column">
427 <xs:sequence>
428 <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
429 </xs:sequence>
430 <xs:attribute name="name" type="xs:NMTOKEN" use="optional" />
431 <xs:attribute name="referenced-column-name" type="xs:NMTOKEN" use="optional" default="id" />
432 <xs:attribute name="unique" type="xs:boolean" default="false" />
433 <xs:attribute name="nullable" type="xs:boolean" default="true" />
434 <xs:attribute name="on-delete" type="orm:fk-action" />
435 <xs:attribute name="column-definition" type="xs:string" />
436 <xs:anyAttribute namespace="##other"/>
437 </xs:complexType>
439 <xs:complexType name="join-columns">
440 <xs:sequence>
441 <xs:element name="join-column" type="orm:join-column" minOccurs="1" maxOccurs="unbounded" />
442 <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
443 </xs:sequence>
444 <xs:anyAttribute namespace="##other"/>
445 </xs:complexType>
447 <xs:complexType name="join-table">
448 <xs:sequence>
449 <xs:element name="join-columns" type="orm:join-columns" />
450 <xs:element name="inverse-join-columns" type="orm:join-columns" />
451 <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
452 </xs:sequence>
453 <xs:attribute name="name" type="xs:NMTOKEN" use="required" />
454 <xs:attribute name="schema" type="xs:NMTOKEN" />
455 <xs:anyAttribute namespace="##other"/>
456 </xs:complexType>
458 <xs:complexType name="order-by">
459 <xs:sequence>
460 <xs:element name="order-by-field" type="orm:order-by-field" minOccurs="1" maxOccurs="unbounded" />
461 <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
462 </xs:sequence>
463 <xs:anyAttribute namespace="##other"/>
464 </xs:complexType>
466 <xs:complexType name="order-by-field">
467 <xs:sequence>
468 <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
469 </xs:sequence>
470 <xs:attribute name="name" type="xs:NMTOKEN" use="required" />
471 <xs:attribute name="direction" type="orm:order-by-direction" default="ASC" />
472 <xs:anyAttribute namespace="##other"/>
473 </xs:complexType>
475 <xs:simpleType name="order-by-direction">
476 <xs:restriction base="xs:token">
477 <xs:enumeration value="ASC"/>
478 <xs:enumeration value="DESC"/>
479 </xs:restriction>
480 </xs:simpleType>
482 <xs:complexType name="many-to-many">
483 <xs:sequence>
484 <xs:element name="cache" type="orm:cache" minOccurs="0" maxOccurs="1"/>
485 <xs:element name="cascade" type="orm:cascade-type" minOccurs="0" />
486 <xs:element name="join-table" type="orm:join-table" minOccurs="0" />
487 <xs:element name="order-by" type="orm:order-by" minOccurs="0" />
488 <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
489 </xs:sequence>
490 <xs:attribute name="target-entity" type="xs:string" use="required" />
491 <xs:attribute name="field" type="xs:NMTOKEN" use="required" />
492 <xs:attribute name="mapped-by" type="xs:NMTOKEN" />
493 <xs:attribute name="index-by" type="xs:NMTOKEN" />
494 <xs:attribute name="inversed-by" type="xs:NMTOKEN" />
495 <xs:attribute name="fetch" type="orm:fetch-type" default="LAZY" />
496 <xs:attribute name="orphan-removal" type="xs:boolean" default="false" />
497 <xs:anyAttribute namespace="##other"/>
498 </xs:complexType>
500 <xs:complexType name="one-to-many">
501 <xs:sequence>
502 <xs:element name="cache" type="orm:cache" minOccurs="0" maxOccurs="1"/>
503 <xs:element name="cascade" type="orm:cascade-type" minOccurs="0" />
504 <xs:element name="order-by" type="orm:order-by" minOccurs="0" />
505 <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
506 </xs:sequence>
507 <xs:attribute name="target-entity" type="xs:string" use="required" />
508 <xs:attribute name="mapped-by" type="xs:NMTOKEN" use="required" />
509 <xs:attribute name="field" type="xs:NMTOKEN" use="required" />
510 <xs:attribute name="index-by" type="xs:NMTOKEN" />
511 <xs:attribute name="orphan-removal" type="xs:boolean" default="false" />
512 <xs:attribute name="fetch" type="orm:fetch-type" default="LAZY" />
513 <xs:anyAttribute namespace="##other"/>
514 </xs:complexType>
516 <xs:complexType name="many-to-one">
517 <xs:sequence>
518 <xs:element name="cache" type="orm:cache" minOccurs="0" maxOccurs="1"/>
519 <xs:element name="cascade" type="orm:cascade-type" minOccurs="0" />
520 <xs:choice minOccurs="0" maxOccurs="1">
521 <xs:element name="join-column" type="orm:join-column"/>
522 <xs:element name="join-columns" type="orm:join-columns"/>
523 <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
524 </xs:choice>
525 <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
526 </xs:sequence>
527 <xs:attribute name="target-entity" type="xs:string" use="required" />
528 <xs:attribute name="field" type="xs:NMTOKEN" use="required" />
529 <xs:attribute name="orphan-removal" type="xs:boolean" default="false" />
530 <xs:attribute name="fetch" type="orm:fetch-type" default="LAZY" />
531 <xs:attribute name="inversed-by" type="xs:NMTOKEN" />
532 <xs:anyAttribute namespace="##other"/>
533 </xs:complexType>
535 <xs:complexType name="one-to-one">
536 <xs:sequence>
537 <xs:element name="cache" type="orm:cache" minOccurs="0" maxOccurs="1"/>
538 <xs:element name="cascade" type="orm:cascade-type" minOccurs="0" />
539 <xs:choice minOccurs="0" maxOccurs="1">
540 <xs:element name="join-column" type="orm:join-column"/>
541 <xs:element name="join-columns" type="orm:join-columns"/>
542 <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
543 </xs:choice>
544 <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
545 </xs:sequence>
546 <xs:attribute name="field" type="xs:NMTOKEN" use="required" />
547 <xs:attribute name="target-entity" type="xs:string" use="required" />
548 <xs:attribute name="mapped-by" type="xs:NMTOKEN" />
549 <xs:attribute name="inversed-by" type="xs:NMTOKEN" />
550 <xs:attribute name="orphan-removal" type="xs:boolean" default="false" />
551 <xs:attribute name="fetch" type="orm:fetch-type" default="LAZY" />
552 <xs:anyAttribute namespace="##other"/>
553 </xs:complexType>
555 <xs:complexType name="association-overrides">
556 <xs:sequence>
557 <xs:element name="association-override" type="orm:association-override" minOccurs="1" maxOccurs="unbounded" />
558 <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
559 </xs:sequence>
560 </xs:complexType>
562 <xs:complexType name="association-override">
563 <xs:sequence>
564 <xs:element name="join-table" type="orm:join-table" minOccurs="0" />
565 <xs:element name="join-columns" type="orm:join-columns" minOccurs="0" />
566 <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
567 </xs:sequence>
568 <xs:attribute name="name" type="xs:NMTOKEN" use="required" />
569 </xs:complexType>
571 <xs:complexType name="attribute-overrides">
572 <xs:sequence>
573 <xs:element name="attribute-override" type="orm:attribute-override" minOccurs="1" maxOccurs="unbounded" />
574 <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
575 </xs:sequence>
576 </xs:complexType>
578 <xs:complexType name="attribute-override">
579 <xs:sequence>
580 <xs:element name="field" type="orm:attribute-override-field" minOccurs="1" />
581 <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
582 </xs:sequence>
583 <xs:attribute name="name" type="xs:NMTOKEN" use="required" />
584 </xs:complexType>
586 <xs:complexType name="attribute-override-field">
587 <xs:sequence>
588 <xs:element name="options" type="orm:options" minOccurs="0" />
589 <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
590 </xs:sequence>
591 <xs:attribute name="type" type="xs:NMTOKEN" default="string" />
592 <xs:attribute name="column" type="xs:NMTOKEN" />
593 <xs:attribute name="length" type="xs:NMTOKEN" />
594 <xs:attribute name="unique" type="xs:boolean" default="false" />
595 <xs:attribute name="nullable" type="xs:boolean" default="false" />
596 <xs:attribute name="version" type="xs:boolean" />
597 <xs:attribute name="column-definition" type="xs:string" />
598 <xs:attribute name="precision" type="xs:integer" use="optional" />
599 <xs:attribute name="scale" type="xs:integer" use="optional" />
600 <xs:anyAttribute namespace="##other"/>
601 </xs:complexType>
603 </xs:schema>