summaryrefslogtreecommitdiff
path: root/vendor/doctrine/orm/doctrine-mapping.xsd
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/doctrine/orm/doctrine-mapping.xsd')
-rw-r--r--vendor/doctrine/orm/doctrine-mapping.xsd589
1 files changed, 589 insertions, 0 deletions
diff --git a/vendor/doctrine/orm/doctrine-mapping.xsd b/vendor/doctrine/orm/doctrine-mapping.xsd
new file mode 100644
index 0000000..58175a2
--- /dev/null
+++ b/vendor/doctrine/orm/doctrine-mapping.xsd
@@ -0,0 +1,589 @@
1<?xml version="1.0" encoding="UTF-8"?>
2
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">
7
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>
14
15 <xs:element name="doctrine-mapping">
16 <xs:complexType>
17 <xs:choice minOccurs="0" maxOccurs="unbounded">
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:choice>
23 <xs:anyAttribute namespace="##other"/>
24 </xs:complexType>
25 </xs:element>
26
27 <xs:complexType name="emptyType">
28 <xs:choice minOccurs="0" maxOccurs="unbounded">
29 <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
30 </xs:choice>
31 <xs:anyAttribute namespace="##other"/>
32 </xs:complexType>
33
34 <xs:complexType name="cascade-type">
35 <xs:choice minOccurs="0" maxOccurs="unbounded">
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-remove" type="orm:emptyType" minOccurs="0"/>
39 <xs:element name="cascade-refresh" type="orm:emptyType" minOccurs="0"/>
40 <xs:element name="cascade-detach" type="orm:emptyType" minOccurs="0"/>
41 <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
42 </xs:choice>
43 <xs:anyAttribute namespace="##other"/>
44 </xs:complexType>
45
46 <xs:simpleType name="lifecycle-callback-type">
47 <xs:restriction base="xs:token">
48 <xs:enumeration value="prePersist"/>
49 <xs:enumeration value="postPersist"/>
50 <xs:enumeration value="preUpdate"/>
51 <xs:enumeration value="postUpdate"/>
52 <xs:enumeration value="preRemove"/>
53 <xs:enumeration value="postRemove"/>
54 <xs:enumeration value="postLoad"/>
55 <xs:enumeration value="preFlush"/>
56 </xs:restriction>
57 </xs:simpleType>
58
59 <xs:simpleType name="cache-usage-type">
60 <xs:restriction base="xs:token">
61 <xs:enumeration value="READ_ONLY"/>
62 <xs:enumeration value="READ_WRITE"/>
63 <xs:enumeration value="NONSTRICT_READ_WRITE"/>
64 </xs:restriction>
65 </xs:simpleType>
66
67 <xs:complexType name="lifecycle-callback">
68 <xs:choice minOccurs="0" maxOccurs="unbounded">
69 <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
70 </xs:choice>
71 <xs:attribute name="type" type="orm:lifecycle-callback-type" use="required" />
72 <xs:attribute name="method" type="xs:NMTOKEN" use="required" />
73 <xs:anyAttribute namespace="##other"/>
74 </xs:complexType>
75
76 <xs:complexType name="lifecycle-callbacks">
77 <xs:choice minOccurs="0" maxOccurs="unbounded">
78 <xs:element name="lifecycle-callback" type="orm:lifecycle-callback" minOccurs="1" maxOccurs="unbounded" />
79 <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
80 </xs:choice>
81 <xs:anyAttribute namespace="##other"/>
82 </xs:complexType>
83
84 <xs:complexType name="entity-listener">
85 <xs:choice minOccurs="0" maxOccurs="unbounded">
86 <xs:element name="lifecycle-callback" type="orm:lifecycle-callback" minOccurs="0" maxOccurs="unbounded"/>
87 <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
88 </xs:choice>
89 <xs:attribute name="class" type="orm:fqcn"/>
90 </xs:complexType>
91
92 <xs:complexType name="entity-listeners">
93 <xs:choice minOccurs="0" maxOccurs="unbounded">
94 <xs:element name="entity-listener" type="orm:entity-listener" minOccurs="1" maxOccurs="unbounded" />
95 </xs:choice>
96 </xs:complexType>
97
98 <xs:complexType name="column-result">
99 <xs:attribute name="name" type="xs:string" use="required" />
100 </xs:complexType>
101
102 <xs:complexType name="field-result">
103 <xs:attribute name="name" type="xs:string" use="required" />
104 <xs:attribute name="column" type="xs:string" />
105 </xs:complexType>
106
107 <xs:complexType name="entity-result">
108 <xs:choice minOccurs="0" maxOccurs="unbounded">
109 <xs:element name="field-result" type="orm:field-result" minOccurs="0" maxOccurs="unbounded" />
110 </xs:choice>
111 <xs:attribute name="entity-class" type="orm:fqcn" use="required" />
112 <xs:attribute name="discriminator-column" type="xs:string" use="optional" />
113 </xs:complexType>
114
115 <xs:complexType name="cache">
116 <xs:attribute name="usage" type="orm:cache-usage-type" />
117 <xs:attribute name="region" type="xs:string" />
118 </xs:complexType>
119
120 <xs:complexType name="entity">
121 <xs:choice minOccurs="0" maxOccurs="unbounded">
122 <xs:element name="cache" type="orm:cache" minOccurs="0" maxOccurs="1"/>
123 <xs:element name="options" type="orm:options" minOccurs="0" />
124 <xs:element name="indexes" type="orm:indexes" minOccurs="0"/>
125 <xs:element name="unique-constraints" type="orm:unique-constraints" minOccurs="0"/>
126 <xs:element name="discriminator-column" type="orm:discriminator-column" minOccurs="0"/>
127 <xs:element name="discriminator-map" type="orm:discriminator-map" minOccurs="0"/>
128 <xs:element name="lifecycle-callbacks" type="orm:lifecycle-callbacks" minOccurs="0" maxOccurs="1" />
129 <xs:element name="entity-listeners" type="orm:entity-listeners" minOccurs="0" maxOccurs="1" />
130 <xs:element name="id" type="orm:id" minOccurs="0" maxOccurs="unbounded" />
131 <xs:element name="field" type="orm:field" minOccurs="0" maxOccurs="unbounded"/>
132 <xs:element name="embedded" type="orm:embedded" minOccurs="0" maxOccurs="unbounded"/>
133 <xs:element name="one-to-one" type="orm:one-to-one" minOccurs="0" maxOccurs="unbounded"/>
134 <xs:element name="one-to-many" type="orm:one-to-many" minOccurs="0" maxOccurs="unbounded" />
135 <xs:element name="many-to-one" type="orm:many-to-one" minOccurs="0" maxOccurs="unbounded" />
136 <xs:element name="many-to-many" type="orm:many-to-many" minOccurs="0" maxOccurs="unbounded" />
137 <xs:element name="association-overrides" type="orm:association-overrides" minOccurs="0" maxOccurs="unbounded" />
138 <xs:element name="attribute-overrides" type="orm:attribute-overrides" minOccurs="0" maxOccurs="unbounded" />
139 <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
140 </xs:choice>
141 <xs:attribute name="name" type="xs:string" use="required" />
142 <xs:attribute name="table" type="orm:tablename" />
143 <xs:attribute name="schema" type="xs:NMTOKEN" />
144 <xs:attribute name="repository-class" type="orm:fqcn"/>
145 <xs:attribute name="inheritance-type" type="orm:inheritance-type"/>
146 <xs:attribute name="change-tracking-policy" type="orm:change-tracking-policy" />
147 <xs:attribute name="read-only" type="xs:boolean" default="false" />
148 <xs:anyAttribute namespace="##other"/>
149 </xs:complexType>
150
151 <xs:simpleType name="tablename" id="tablename">
152 <xs:restriction base="xs:token">
153 <xs:pattern value="[a-zA-Z_u01-uff.]+" id="tablename.pattern">
154 </xs:pattern>
155 </xs:restriction>
156 </xs:simpleType>
157
158 <xs:complexType name="option" mixed="true">
159 <xs:choice minOccurs="0" maxOccurs="unbounded">
160 <xs:element name="option" type="orm:option"/>
161 <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
162 </xs:choice>
163 <xs:attribute name="name" type="xs:NMTOKEN" use="required"/>
164 <xs:anyAttribute namespace="##other"/>
165 </xs:complexType>
166
167 <xs:complexType name="options">
168 <xs:choice minOccurs="0" maxOccurs="unbounded">
169 <xs:element name="option" type="orm:option" minOccurs="0" maxOccurs="unbounded"/>
170 <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
171 </xs:choice>
172 <xs:anyAttribute namespace="##other"/>
173 </xs:complexType>
174
175 <xs:complexType name="mapped-superclass" >
176 <xs:complexContent>
177 <xs:extension base="orm:entity"/>
178 </xs:complexContent>
179 </xs:complexType>
180
181 <xs:complexType name="embeddable">
182 <xs:complexContent>
183 <xs:extension base="orm:entity"/>
184 </xs:complexContent>
185 </xs:complexType>
186
187 <xs:simpleType name="change-tracking-policy">
188 <xs:restriction base="xs:token">
189 <xs:enumeration value="DEFERRED_IMPLICIT"/>
190 <xs:enumeration value="DEFERRED_EXPLICIT"/>
191 </xs:restriction>
192 </xs:simpleType>
193
194 <xs:simpleType name="inheritance-type">
195 <xs:restriction base="xs:token">
196 <xs:enumeration value="SINGLE_TABLE"/>
197 <xs:enumeration value="JOINED"/>
198 </xs:restriction>
199 </xs:simpleType>
200
201 <xs:simpleType name="generator-strategy">
202 <xs:restriction base="xs:token">
203 <xs:enumeration value="NONE"/>
204 <xs:enumeration value="SEQUENCE"/>
205 <xs:enumeration value="IDENTITY"/>
206 <xs:enumeration value="AUTO"/>
207 <xs:enumeration value="CUSTOM" />
208 </xs:restriction>
209 </xs:simpleType>
210
211 <xs:simpleType name="fk-action">
212 <xs:restriction base="xs:token">
213 <xs:enumeration value="CASCADE"/>
214 <xs:enumeration value="RESTRICT"/>
215 <xs:enumeration value="SET NULL"/>
216 </xs:restriction>
217 </xs:simpleType>
218
219 <xs:simpleType name="fetch-type">
220 <xs:restriction base="xs:token">
221 <xs:enumeration value="EAGER"/>
222 <xs:enumeration value="LAZY"/>
223 <xs:enumeration value="EXTRA_LAZY"/>
224 </xs:restriction>
225 </xs:simpleType>
226
227 <xs:simpleType name="generated-type">
228 <xs:restriction base="xs:token">
229 <xs:enumeration value="NEVER"/>
230 <xs:enumeration value="INSERT"/>
231 <xs:enumeration value="ALWAYS"/>
232 </xs:restriction>
233 </xs:simpleType>
234
235 <xs:complexType name="field">
236 <xs:choice minOccurs="0" maxOccurs="unbounded">
237 <xs:element name="options" type="orm:options" minOccurs="0" />
238 <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
239 </xs:choice>
240 <xs:attribute name="name" type="xs:NMTOKEN" use="required" />
241 <xs:attribute name="type" type="orm:type" default="string" />
242 <xs:attribute name="column" type="orm:columntoken" />
243 <xs:attribute name="length" type="xs:NMTOKEN" />
244 <xs:attribute name="unique" type="xs:boolean" default="false" />
245 <xs:attribute name="nullable" type="xs:boolean" default="false" />
246 <xs:attribute name="insertable" type="xs:boolean" default="true" />
247 <xs:attribute name="updatable" type="xs:boolean" default="true" />
248 <xs:attribute name="generated" type="orm:generated-type" default="NEVER" />
249 <xs:attribute name="enum-type" type="xs:string" />
250 <xs:attribute name="version" type="xs:boolean" />
251 <xs:attribute name="column-definition" type="xs:string" />
252 <xs:attribute name="precision" type="xs:integer" use="optional" />
253 <xs:attribute name="scale" type="xs:integer" use="optional" />
254 <xs:anyAttribute namespace="##other"/>
255 </xs:complexType>
256
257 <xs:complexType name="embedded">
258 <xs:sequence>
259 <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
260 </xs:sequence>
261 <xs:attribute name="name" type="xs:string" use="required" />
262 <xs:attribute name="class" type="orm:fqcn" use="optional" />
263 <xs:attribute name="column-prefix" type="xs:string" use="optional" />
264 <xs:attribute name="use-column-prefix" type="xs:boolean" default="true" use="optional" />
265 </xs:complexType>
266
267 <xs:complexType name="discriminator-column">
268 <xs:choice minOccurs="0" maxOccurs="unbounded">
269 <xs:element name="options" type="orm:options" minOccurs="0" />
270 <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
271 </xs:choice>
272 <xs:attribute name="name" type="xs:NMTOKEN" use="required" />
273 <xs:attribute name="type" type="xs:NMTOKEN"/>
274 <xs:attribute name="field-name" type="xs:NMTOKEN" />
275 <xs:attribute name="length" type="xs:NMTOKEN" />
276 <xs:attribute name="column-definition" type="xs:string" />
277 <xs:attribute name="enum-type" type="xs:string" />
278 <xs:anyAttribute namespace="##other"/>
279 </xs:complexType>
280
281 <xs:complexType name="unique-constraint">
282 <xs:choice minOccurs="0" maxOccurs="unbounded">
283 <xs:element name="options" type="orm:options" minOccurs="0" />
284 <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
285 </xs:choice>
286 <xs:attribute name="name" type="xs:NMTOKEN" use="optional"/>
287 <xs:attribute name="columns" type="xs:string" use="optional"/>
288 <xs:attribute name="fields" type="xs:string" use="optional"/>
289 <xs:anyAttribute namespace="##other"/>
290 </xs:complexType>
291
292 <xs:complexType name="unique-constraints">
293 <xs:choice minOccurs="0" maxOccurs="unbounded">
294 <xs:element name="unique-constraint" type="orm:unique-constraint" minOccurs="1" maxOccurs="unbounded"/>
295 <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
296 </xs:choice>
297 <xs:anyAttribute namespace="##other"/>
298 </xs:complexType>
299
300 <xs:complexType name="index">
301 <xs:choice minOccurs="0" maxOccurs="unbounded">
302 <xs:element name="options" type="orm:options" minOccurs="0" />
303 <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
304 </xs:choice>
305 <xs:attribute name="name" type="xs:NMTOKEN" use="optional"/>
306 <xs:attribute name="columns" type="xs:string" use="optional"/>
307 <xs:attribute name="fields" type="xs:string" use="optional"/>
308 <xs:attribute name="flags" type="xs:string" use="optional"/>
309 <xs:anyAttribute namespace="##other"/>
310 </xs:complexType>
311
312 <xs:complexType name="indexes">
313 <xs:choice minOccurs="0" maxOccurs="unbounded">
314 <xs:element name="index" type="orm:index" minOccurs="1" maxOccurs="unbounded"/>
315 <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
316 </xs:choice>
317 <xs:anyAttribute namespace="##other"/>
318 </xs:complexType>
319
320 <xs:complexType name="discriminator-mapping">
321 <xs:choice minOccurs="0" maxOccurs="unbounded">
322 <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
323 </xs:choice>
324 <xs:attribute name="value" type="xs:NMTOKEN" use="required"/>
325 <xs:attribute name="class" type="orm:fqcn" use="required"/>
326 <xs:anyAttribute namespace="##other"/>
327 </xs:complexType>
328
329 <xs:complexType name="discriminator-map">
330 <xs:choice minOccurs="0" maxOccurs="unbounded">
331 <xs:element name="discriminator-mapping" type="orm:discriminator-mapping" minOccurs="1" maxOccurs="unbounded"/>
332 <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
333 </xs:choice>
334 <xs:anyAttribute namespace="##other"/>
335 </xs:complexType>
336
337 <xs:complexType name="generator">
338 <xs:choice minOccurs="0" maxOccurs="unbounded">
339 <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
340 </xs:choice>
341 <xs:attribute name="strategy" type="orm:generator-strategy" use="optional" default="AUTO" />
342 <xs:anyAttribute namespace="##other"/>
343 </xs:complexType>
344
345 <xs:complexType name="id">
346 <xs:choice minOccurs="0" maxOccurs="unbounded">
347 <xs:element name="generator" type="orm:generator" minOccurs="0" />
348 <xs:element name="sequence-generator" type="orm:sequence-generator" minOccurs="0" maxOccurs="1" />
349 <xs:element name="custom-id-generator" type="orm:custom-id-generator" minOccurs="0" maxOccurs="1" />
350 <xs:element name="options" type="orm:options" minOccurs="0" />
351 <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
352 </xs:choice>
353 <xs:attribute name="name" type="xs:NMTOKEN" use="required" />
354 <xs:attribute name="type" type="orm:type" />
355 <xs:attribute name="column" type="orm:columntoken" />
356 <xs:attribute name="length" type="xs:NMTOKEN" />
357 <xs:attribute name="association-key" type="xs:boolean" default="false" />
358 <xs:attribute name="column-definition" type="xs:string" />
359 <xs:anyAttribute namespace="##other"/>
360 </xs:complexType>
361
362 <xs:complexType name="sequence-generator">
363 <xs:choice minOccurs="0" maxOccurs="unbounded">
364 <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
365 </xs:choice>
366 <xs:attribute name="sequence-name" type="xs:NMTOKEN" use="required" />
367 <xs:attribute name="allocation-size" type="xs:integer" use="optional" default="1" />
368 <xs:attribute name="initial-value" type="xs:integer" use="optional" default="1" />
369 <xs:anyAttribute namespace="##other"/>
370 </xs:complexType>
371
372 <xs:complexType name="custom-id-generator">
373 <xs:choice minOccurs="0" maxOccurs="unbounded">
374 <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
375 </xs:choice>
376 <xs:attribute name="class" type="orm:fqcn" use="required" />
377 </xs:complexType>
378
379 <xs:simpleType name="fqcn" id="fqcn">
380 <xs:restriction base="xs:token">
381 <xs:pattern value="[a-zA-Z_u01-uff][a-zA-Z0-9_u01-uff]+" id="fqcn.pattern">
382 </xs:pattern>
383 </xs:restriction>
384 </xs:simpleType>
385
386 <xs:simpleType name="type" id="type">
387 <xs:restriction base="xs:token">
388 <xs:pattern value="([a-zA-Z_u01-uff][a-zA-Z0-9_u01-uff]+)|(\c+)" id="type.class.pattern">
389 </xs:pattern>
390 </xs:restriction>
391 </xs:simpleType>
392
393 <xs:complexType name="inverse-join-columns">
394 <xs:choice minOccurs="0" maxOccurs="unbounded">
395 <xs:element name="join-column" type="orm:join-column" minOccurs="1" maxOccurs="unbounded" />
396 <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
397 </xs:choice>
398 <xs:anyAttribute namespace="##other"/>
399 </xs:complexType>
400
401 <xs:complexType name="join-column">
402 <xs:choice minOccurs="0" maxOccurs="unbounded">
403 <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
404 </xs:choice>
405 <xs:attribute name="name" type="xs:NMTOKEN" use="optional" />
406 <xs:attribute name="referenced-column-name" type="xs:NMTOKEN" use="optional" default="id" />
407 <xs:attribute name="unique" type="xs:boolean" default="false" />
408 <xs:attribute name="nullable" type="xs:boolean" default="true" />
409 <xs:attribute name="on-delete" type="orm:fk-action" />
410 <xs:attribute name="column-definition" type="xs:string" />
411 <xs:anyAttribute namespace="##other"/>
412 </xs:complexType>
413
414 <xs:complexType name="join-columns">
415 <xs:choice minOccurs="0" maxOccurs="unbounded">
416 <xs:element name="join-column" type="orm:join-column" minOccurs="1" maxOccurs="unbounded" />
417 <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
418 </xs:choice>
419 <xs:anyAttribute namespace="##other"/>
420 </xs:complexType>
421
422 <xs:complexType name="join-table">
423 <xs:choice minOccurs="0" maxOccurs="unbounded">
424 <xs:element name="join-columns" type="orm:join-columns" />
425 <xs:element name="inverse-join-columns" type="orm:join-columns" />
426 <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
427 </xs:choice>
428 <xs:attribute name="name" type="xs:NMTOKEN" use="required" />
429 <xs:attribute name="schema" type="xs:NMTOKEN" />
430 <xs:anyAttribute namespace="##other"/>
431 </xs:complexType>
432
433 <xs:complexType name="order-by">
434 <xs:choice minOccurs="0" maxOccurs="unbounded">
435 <xs:element name="order-by-field" type="orm:order-by-field" minOccurs="1" maxOccurs="unbounded" />
436 <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
437 </xs:choice>
438 <xs:anyAttribute namespace="##other"/>
439 </xs:complexType>
440
441 <xs:complexType name="order-by-field">
442 <xs:choice minOccurs="0" maxOccurs="unbounded">
443 <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
444 </xs:choice>
445 <xs:attribute name="name" type="xs:NMTOKEN" use="required" />
446 <xs:attribute name="direction" type="orm:order-by-direction" default="ASC" />
447 <xs:anyAttribute namespace="##other"/>
448 </xs:complexType>
449
450 <xs:simpleType name="order-by-direction">
451 <xs:restriction base="xs:token">
452 <xs:enumeration value="ASC"/>
453 <xs:enumeration value="DESC"/>
454 </xs:restriction>
455 </xs:simpleType>
456
457 <xs:simpleType name="columntoken" id="columntoken">
458 <xs:restriction base="xs:token">
459 <xs:pattern value="[-._:A-Za-z0-9`]+" id="columntoken.pattern"/>
460 </xs:restriction>
461 </xs:simpleType>
462
463 <xs:complexType name="many-to-many">
464 <xs:choice minOccurs="0" maxOccurs="unbounded">
465 <xs:element name="cache" type="orm:cache" minOccurs="0" maxOccurs="1"/>
466 <xs:element name="cascade" type="orm:cascade-type" minOccurs="0" />
467 <xs:element name="join-table" type="orm:join-table" minOccurs="0" />
468 <xs:element name="order-by" type="orm:order-by" minOccurs="0" />
469 <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
470 </xs:choice>
471 <xs:attribute name="field" type="xs:NMTOKEN" use="required" />
472 <xs:attribute name="target-entity" type="xs:string" use="required" />
473 <xs:attribute name="mapped-by" type="xs:NMTOKEN" />
474 <xs:attribute name="inversed-by" type="xs:NMTOKEN" />
475 <xs:attribute name="index-by" type="xs:NMTOKEN" />
476 <xs:attribute name="fetch" type="orm:fetch-type" default="LAZY" />
477 <xs:attribute name="orphan-removal" type="xs:boolean" default="false" />
478 <xs:anyAttribute namespace="##other"/>
479 </xs:complexType>
480
481 <xs:complexType name="one-to-many">
482 <xs:choice minOccurs="0" maxOccurs="unbounded">
483 <xs:element name="cache" type="orm:cache" minOccurs="0" maxOccurs="1"/>
484 <xs:element name="cascade" type="orm:cascade-type" minOccurs="0" />
485 <xs:element name="order-by" type="orm:order-by" minOccurs="0" />
486 <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
487 </xs:choice>
488 <xs:attribute name="field" type="xs:NMTOKEN" use="required" />
489 <xs:attribute name="target-entity" type="xs:string" use="required" />
490 <xs:attribute name="mapped-by" type="xs:NMTOKEN" use="required" />
491 <xs:attribute name="index-by" type="xs:NMTOKEN" />
492 <xs:attribute name="fetch" type="orm:fetch-type" default="LAZY" />
493 <xs:attribute name="orphan-removal" type="xs:boolean" default="false" />
494 <xs:anyAttribute namespace="##other"/>
495 </xs:complexType>
496
497 <xs:complexType name="many-to-one">
498 <xs:choice minOccurs="0" maxOccurs="unbounded">
499 <xs:element name="cache" type="orm:cache" minOccurs="0" maxOccurs="1"/>
500 <xs:element name="cascade" type="orm:cascade-type" minOccurs="0" />
501 <xs:choice minOccurs="0" maxOccurs="1">
502 <xs:element name="join-column" type="orm:join-column"/>
503 <xs:element name="join-columns" type="orm:join-columns"/>
504 </xs:choice>
505 <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
506 </xs:choice>
507 <xs:attribute name="field" type="xs:NMTOKEN" use="required" />
508 <xs:attribute name="target-entity" type="xs:string" />
509 <xs:attribute name="inversed-by" type="xs:NMTOKEN" />
510 <xs:attribute name="fetch" type="orm:fetch-type" default="LAZY" />
511 <xs:anyAttribute namespace="##other"/>
512 </xs:complexType>
513
514 <xs:complexType name="one-to-one">
515 <xs:choice minOccurs="0" maxOccurs="unbounded">
516 <xs:element name="cache" type="orm:cache" minOccurs="0" maxOccurs="1"/>
517 <xs:element name="cascade" type="orm:cascade-type" minOccurs="0" />
518 <xs:choice minOccurs="0" maxOccurs="1">
519 <xs:element name="join-column" type="orm:join-column"/>
520 <xs:element name="join-columns" type="orm:join-columns"/>
521 </xs:choice>
522 <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
523 </xs:choice>
524 <xs:attribute name="field" type="xs:NMTOKEN" use="required" />
525 <xs:attribute name="target-entity" type="xs:string" />
526 <xs:attribute name="mapped-by" type="xs:NMTOKEN" />
527 <xs:attribute name="inversed-by" type="xs:NMTOKEN" />
528 <xs:attribute name="fetch" type="orm:fetch-type" default="LAZY" />
529 <xs:attribute name="orphan-removal" type="xs:boolean" default="false" />
530 <xs:anyAttribute namespace="##other"/>
531 </xs:complexType>
532
533 <xs:complexType name="association-overrides">
534 <xs:choice minOccurs="0" maxOccurs="unbounded">
535 <xs:element name="association-override" type="orm:association-override" minOccurs="1" maxOccurs="unbounded" />
536 <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
537 </xs:choice>
538 </xs:complexType>
539
540 <xs:complexType name="association-override">
541 <xs:choice minOccurs="0" maxOccurs="unbounded">
542 <xs:element name="join-table" type="orm:join-table" minOccurs="0" />
543 <xs:element name="join-columns" type="orm:join-columns" minOccurs="0" />
544 <xs:element name="inversed-by" type="orm:inversed-by-override" minOccurs="0" maxOccurs="1" />
545 <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
546 </xs:choice>
547 <xs:attribute name="name" type="xs:NMTOKEN" use="required" />
548 <xs:attribute name="fetch" type="orm:fetch-type" use="optional" />
549 </xs:complexType>
550
551 <xs:complexType name="inversed-by-override">
552 <xs:attribute name="name" type="xs:NMTOKEN" use="required" />
553 </xs:complexType>
554
555 <xs:complexType name="attribute-overrides">
556 <xs:choice minOccurs="0" maxOccurs="unbounded">
557 <xs:element name="attribute-override" type="orm:attribute-override" minOccurs="1" maxOccurs="unbounded" />
558 <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
559 </xs:choice>
560 </xs:complexType>
561
562 <xs:complexType name="attribute-override">
563 <xs:choice minOccurs="0" maxOccurs="unbounded">
564 <xs:element name="field" type="orm:attribute-override-field" minOccurs="1" />
565 <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
566 </xs:choice>
567 <xs:attribute name="name" type="xs:NMTOKEN" use="required" />
568 </xs:complexType>
569
570 <xs:complexType name="attribute-override-field">
571 <xs:choice minOccurs="0" maxOccurs="unbounded">
572 <xs:element name="options" type="orm:options" minOccurs="0" />
573 <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
574 </xs:choice>
575 <xs:attribute name="type" type="orm:type" default="string" />
576 <xs:attribute name="column" type="orm:columntoken" />
577 <xs:attribute name="length" type="xs:NMTOKEN" />
578 <xs:attribute name="unique" type="xs:boolean" default="false" />
579 <xs:attribute name="nullable" type="xs:boolean" default="false" />
580 <xs:attribute name="insertable" type="xs:boolean" default="true" />
581 <xs:attribute name="updateable" type="xs:boolean" default="true" />
582 <xs:attribute name="version" type="xs:boolean" />
583 <xs:attribute name="column-definition" type="xs:string" />
584 <xs:attribute name="precision" type="xs:integer" use="optional" />
585 <xs:attribute name="scale" type="xs:integer" use="optional" />
586 <xs:anyAttribute namespace="##other"/>
587 </xs:complexType>
588
589</xs:schema>