diff options
Diffstat (limited to 'vendor/doctrine/orm/doctrine-mapping.xsd')
-rw-r--r-- | vendor/doctrine/orm/doctrine-mapping.xsd | 589 |
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> | ||