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">
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>
15 <xs:element name=
"doctrine-mapping">
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"/>
23 <xs:anyAttribute namespace=
"##other"/>
27 <xs:complexType name=
"emptyType">
29 <xs:any minOccurs=
"0" maxOccurs=
"unbounded" namespace=
"##other"/>
31 <xs:anyAttribute namespace=
"##other"/>
34 <xs:complexType name=
"cascade-type">
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"/>
44 <xs:anyAttribute namespace=
"##other"/>
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"/>
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"/>
68 <xs:complexType name=
"lifecycle-callback">
70 <xs:any minOccurs=
"0" maxOccurs=
"unbounded" namespace=
"##other"/>
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"/>
77 <xs:complexType name=
"lifecycle-callbacks">
79 <xs:element name=
"lifecycle-callback" type=
"orm:lifecycle-callback" minOccurs=
"1" maxOccurs=
"unbounded" />
80 <xs:any minOccurs=
"0" maxOccurs=
"unbounded" namespace=
"##other"/>
82 <xs:anyAttribute namespace=
"##other"/>
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"/>
91 <xs:complexType name=
"named-queries">
93 <xs:element name=
"named-query" type=
"orm:named-query" minOccurs=
"1" maxOccurs=
"unbounded" />
94 <xs:any minOccurs=
"0" maxOccurs=
"unbounded" namespace=
"##other"/>
98 <xs:complexType name=
"named-native-query">
100 <xs:element name=
"query" type=
"xs:string" minOccurs=
"1" maxOccurs=
"1"/>
101 <xs:any minOccurs=
"0" maxOccurs=
"unbounded" namespace=
"##other"/>
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" />
108 <xs:complexType name=
"named-native-queries">
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"/>
115 <xs:complexType name=
"entity-listener">
117 <xs:element name=
"lifecycle-callback" type=
"orm:lifecycle-callback" minOccurs=
"0" maxOccurs=
"unbounded"/>
118 <xs:any minOccurs=
"0" maxOccurs=
"unbounded" namespace=
"##other"/>
120 <xs:attribute name=
"class" type=
"xs:string"/>
123 <xs:complexType name=
"entity-listeners">
125 <xs:element name=
"entity-listener" type=
"orm:entity-listener" minOccurs=
"1" maxOccurs=
"unbounded" />
129 <xs:complexType name=
"column-result">
130 <xs:attribute name=
"name" type=
"xs:string" use=
"required" />
133 <xs:complexType name=
"field-result">
134 <xs:attribute name=
"name" type=
"xs:string" use=
"required" />
135 <xs:attribute name=
"column" type=
"xs:string" />
138 <xs:complexType name=
"entity-result">
140 <xs:element name=
"field-result" type=
"orm:field-result" minOccurs=
"0" maxOccurs=
"unbounded" />
142 <xs:attribute name=
"entity-class" type=
"xs:string" use=
"required" />
143 <xs:attribute name=
"discriminator-column" type=
"xs:string" use=
"optional" />
146 <xs:complexType name=
"sql-result-set-mapping">
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"/>
153 <xs:any minOccurs=
"0" maxOccurs=
"unbounded" namespace=
"##other"/>
155 <xs:attribute name=
"name" type=
"xs:string" use=
"required" />
158 <xs:complexType name=
"sql-result-set-mappings">
160 <xs:element name=
"sql-result-set-mapping" type=
"orm:sql-result-set-mapping" minOccurs=
"1" maxOccurs=
"unbounded" />
164 <xs:complexType name=
"cache">
165 <xs:attribute name=
"usage" type=
"orm:cache-usage-type" />
166 <xs:attribute name=
"region" type=
"xs:string" />
169 <xs:complexType name=
"entity">
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"/>
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"/>
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"/>
208 <xs:attribute name=
"name" type=
"xs:NMTOKEN" use=
"required"/>
209 <xs:anyAttribute namespace=
"##other"/>
212 <xs:complexType name=
"options">
214 <xs:element name=
"option" type=
"orm:option" minOccurs=
"0" maxOccurs=
"unbounded"/>
215 <xs:any minOccurs=
"0" maxOccurs=
"unbounded" namespace=
"##other"/>
217 <xs:anyAttribute namespace=
"##other"/>
220 <xs:complexType name=
"mapped-superclass" >
222 <xs:extension base=
"orm:entity">
224 <xs:any minOccurs=
"0" maxOccurs=
"unbounded" namespace=
"##other"/>
226 <xs:anyAttribute namespace=
"##other"/>
231 <xs:complexType name=
"embeddable">
233 <xs:extension base=
"orm:entity">
235 <xs:any minOccurs=
"0" maxOccurs=
"unbounded" namespace=
"##other"/>
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"/>
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"/>
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" />
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"/>
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"/>
285 <xs:complexType name=
"field">
287 <xs:element name=
"options" type=
"orm:options" minOccurs=
"0" />
288 <xs:any minOccurs=
"0" maxOccurs=
"unbounded" namespace=
"##other"/>
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"/>
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" />
310 <xs:complexType name=
"discriminator-column">
312 <xs:any minOccurs=
"0" maxOccurs=
"unbounded" namespace=
"##other"/>
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"/>
322 <xs:complexType name=
"unique-constraint">
324 <xs:element name=
"options" type=
"orm:options" minOccurs=
"0" />
325 <xs:any minOccurs=
"0" maxOccurs=
"unbounded" namespace=
"##other"/>
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"/>
332 <xs:complexType name=
"unique-constraints">
334 <xs:element name=
"unique-constraint" type=
"orm:unique-constraint" minOccurs=
"1" maxOccurs=
"unbounded"/>
335 <xs:any minOccurs=
"0" maxOccurs=
"unbounded" namespace=
"##other"/>
337 <xs:anyAttribute namespace=
"##other"/>
340 <xs:complexType name=
"index">
342 <xs:element name=
"options" type=
"orm:options" minOccurs=
"0" />
343 <xs:any minOccurs=
"0" maxOccurs=
"unbounded" namespace=
"##other"/>
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"/>
351 <xs:complexType name=
"indexes">
353 <xs:element name=
"index" type=
"orm:index" minOccurs=
"1" maxOccurs=
"unbounded"/>
354 <xs:any minOccurs=
"0" maxOccurs=
"unbounded" namespace=
"##other"/>
356 <xs:anyAttribute namespace=
"##other"/>
359 <xs:complexType name=
"discriminator-mapping">
361 <xs:any minOccurs=
"0" maxOccurs=
"unbounded" namespace=
"##other"/>
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"/>
368 <xs:complexType name=
"discriminator-map">
370 <xs:element name=
"discriminator-mapping" type=
"orm:discriminator-mapping" minOccurs=
"1" maxOccurs=
"unbounded"/>
371 <xs:any minOccurs=
"0" maxOccurs=
"unbounded" namespace=
"##other"/>
373 <xs:anyAttribute namespace=
"##other"/>
376 <xs:complexType name=
"generator">
378 <xs:any minOccurs=
"0" maxOccurs=
"unbounded" namespace=
"##other"/>
380 <xs:attribute name=
"strategy" type=
"orm:generator-strategy" use=
"optional" default=
"AUTO" />
381 <xs:anyAttribute namespace=
"##other"/>
384 <xs:complexType name=
"id">
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"/>
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"/>
401 <xs:complexType name=
"sequence-generator">
403 <xs:any minOccurs=
"0" maxOccurs=
"unbounded" namespace=
"##other"/>
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"/>
411 <xs:complexType name=
"custom-id-generator">
413 <xs:any minOccurs=
"0" maxOccurs=
"unbounded" namespace=
"##other"/>
415 <xs:attribute name=
"class" type=
"xs:NMTOKEN" use=
"required" />
418 <xs:complexType name=
"inverse-join-columns">
420 <xs:element name=
"join-column" type=
"orm:join-column" minOccurs=
"1" maxOccurs=
"unbounded" />
421 <xs:any minOccurs=
"0" maxOccurs=
"unbounded" namespace=
"##other"/>
423 <xs:anyAttribute namespace=
"##other"/>
426 <xs:complexType name=
"join-column">
428 <xs:any minOccurs=
"0" maxOccurs=
"unbounded" namespace=
"##other"/>
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"/>
439 <xs:complexType name=
"join-columns">
441 <xs:element name=
"join-column" type=
"orm:join-column" minOccurs=
"1" maxOccurs=
"unbounded" />
442 <xs:any minOccurs=
"0" maxOccurs=
"unbounded" namespace=
"##other"/>
444 <xs:anyAttribute namespace=
"##other"/>
447 <xs:complexType name=
"join-table">
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"/>
453 <xs:attribute name=
"name" type=
"xs:NMTOKEN" use=
"required" />
454 <xs:attribute name=
"schema" type=
"xs:NMTOKEN" />
455 <xs:anyAttribute namespace=
"##other"/>
458 <xs:complexType name=
"order-by">
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"/>
463 <xs:anyAttribute namespace=
"##other"/>
466 <xs:complexType name=
"order-by-field">
468 <xs:any minOccurs=
"0" maxOccurs=
"unbounded" namespace=
"##other"/>
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"/>
475 <xs:simpleType name=
"order-by-direction">
476 <xs:restriction base=
"xs:token">
477 <xs:enumeration value=
"ASC"/>
478 <xs:enumeration value=
"DESC"/>
482 <xs:complexType name=
"many-to-many">
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"/>
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"/>
500 <xs:complexType name=
"one-to-many">
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"/>
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"/>
516 <xs:complexType name=
"many-to-one">
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"/>
525 <xs:any minOccurs=
"0" maxOccurs=
"unbounded" namespace=
"##other"/>
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"/>
535 <xs:complexType name=
"one-to-one">
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"/>
544 <xs:any minOccurs=
"0" maxOccurs=
"unbounded" namespace=
"##other"/>
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"/>
555 <xs:complexType name=
"association-overrides">
557 <xs:element name=
"association-override" type=
"orm:association-override" minOccurs=
"1" maxOccurs=
"unbounded" />
558 <xs:any minOccurs=
"0" maxOccurs=
"unbounded" namespace=
"##other"/>
562 <xs:complexType name=
"association-override">
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"/>
568 <xs:attribute name=
"name" type=
"xs:NMTOKEN" use=
"required" />
571 <xs:complexType name=
"attribute-overrides">
573 <xs:element name=
"attribute-override" type=
"orm:attribute-override" minOccurs=
"1" maxOccurs=
"unbounded" />
574 <xs:any minOccurs=
"0" maxOccurs=
"unbounded" namespace=
"##other"/>
578 <xs:complexType name=
"attribute-override">
580 <xs:element name=
"field" type=
"orm:attribute-override-field" minOccurs=
"1" />
581 <xs:any minOccurs=
"0" maxOccurs=
"unbounded" namespace=
"##other"/>
583 <xs:attribute name=
"name" type=
"xs:NMTOKEN" use=
"required" />
586 <xs:complexType name=
"attribute-override-field">
588 <xs:element name=
"options" type=
"orm:options" minOccurs=
"0" />
589 <xs:any minOccurs=
"0" maxOccurs=
"unbounded" namespace=
"##other"/>
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"/>