source: contrib/MailArchiver/sources/docs/references/jdo_xml_metadata/orm_2_2.xsd @ 6785

Revision 6785, 35.1 KB checked in by rafaelraymundo, 12 years ago (diff)

Ticket #2946 - Liberado codigo do MailArchiver?. Documentação na subpasta DOCS.

Line 
1<?xml version="1.0" encoding="UTF-8"?>
2<!--
3  Licensed to the Apache Software Foundation (ASF) under one or more
4  contributor license agreements.  See the NOTICE file distributed with
5  this work for additional information regarding copyright ownership.
6  The ASF licenses this file to You under the Apache License, Version 2.0
7  (the "License"); you may not use this file except in compliance with
8  the License.  You may obtain a copy of the License at
9
10      http://www.apache.org/licenses/LICENSE-2.0
11
12  Unless required by applicable law or agreed to in writing, software
13  distributed under the License is distributed on an "AS IS" BASIS,
14  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  See the License for the specific language governing permissions and
16  limitations under the License.
17-->
18<xs:schema targetNamespace="http://java.sun.com/xml/ns/jdo/orm"
19           xmlns="http://java.sun.com/xml/ns/jdo/orm"
20           xmlns:xs="http://www.w3.org/2001/XMLSchema"
21           version="2.2">
22    <xs:element name="orm">
23        <xs:complexType>
24            <xs:choice maxOccurs="unbounded">
25                <xs:element ref="extension"/>
26                <xs:element ref="package"/>
27                <xs:element ref="query"/>
28            </xs:choice>
29            <xs:attributeGroup ref="attlist.orm"/>
30        </xs:complexType>
31    </xs:element>
32    <xs:attributeGroup name="attlist.orm">
33        <xs:attribute name="catalog"/>
34        <xs:attribute name="schema"/>
35    </xs:attributeGroup>
36    <xs:element name="package">
37        <xs:complexType>
38            <xs:choice maxOccurs="unbounded">
39                <xs:element ref="extension"/>
40                <xs:element ref="interface"/>
41                <xs:element ref="class"/>
42                <xs:element ref="sequence"/>
43            </xs:choice>
44            <xs:attributeGroup ref="attlist.package"/>
45        </xs:complexType>
46    </xs:element>
47    <xs:attributeGroup name="attlist.package">
48        <xs:attribute name="name" default=""/>
49        <xs:attribute name="catalog"/>
50        <xs:attribute name="schema"/>
51    </xs:attributeGroup>
52    <xs:element name="interface">
53        <xs:complexType>
54            <xs:choice minOccurs="0" maxOccurs="unbounded">
55                <xs:annotation><xs:documentation>
56                    Please note,
57                    the following subelements must not occur more than once:
58                    - datastore-identity
59                    - primary-key
60                    - inheritance
61                    - version
62                </xs:documentation></xs:annotation>
63                <xs:element ref="extension"/>
64                <xs:element ref="datastore-identity"/>
65                <xs:element ref="primary-key"/>
66                <xs:element ref="inheritance"/>
67                <xs:element ref="version"/>
68                <xs:element ref="join"/>
69                <xs:element ref="foreign-key"/>
70                <xs:element ref="index"/>
71                <xs:element ref="unique"/>
72                <xs:element ref="property"/>
73                <xs:element ref="query"/>
74            </xs:choice>
75            <xs:attributeGroup ref="attlist.interface"/>
76        </xs:complexType>
77    </xs:element>
78    <xs:attributeGroup name="attlist.interface">
79        <xs:attribute name="name" use="required"/>
80        <xs:attribute name="table"/>
81        <xs:attribute name="catalog"/>
82        <xs:attribute name="schema"/>
83    </xs:attributeGroup>
84    <xs:element name="property">
85        <xs:complexType>
86            <xs:choice minOccurs="0" maxOccurs="unbounded">
87                <xs:annotation><xs:documentation>
88                    Please note,
89                    the following subelements must not occur more than once:
90                    - join
91                    - embedded
92                    - key
93                    - value
94                    - order
95                    - foreign-key
96                    - index
97                    - unique
98                </xs:documentation></xs:annotation>
99                <xs:element ref="extension"/>
100                <xs:element ref="join"/>
101                <xs:element ref="embedded"/>
102                <xs:element ref="element"/>
103                <xs:element ref="key"/>
104                <xs:element ref="value"/>
105                <xs:element ref="order"/>
106                <xs:element ref="column"/>
107                <xs:element ref="foreign-key"/>
108                <xs:element ref="index"/>
109                <xs:element ref="unique"/>
110            </xs:choice>
111            <xs:attributeGroup ref="attlist.property"/>
112        </xs:complexType>
113    </xs:element>
114    <xs:attributeGroup name="attlist.property">
115        <xs:attribute name="name" use="required"/>
116        <xs:attribute name="value-strategy"/>
117        <xs:attribute name="sequence"/>
118        <xs:attribute name="serialized">
119            <xs:simpleType>
120                <xs:restriction base="xs:token">
121                    <xs:enumeration value="true"/>
122                    <xs:enumeration value="false"/>
123                </xs:restriction>
124            </xs:simpleType>
125        </xs:attribute>
126        <xs:attribute name="table"/>
127        <xs:attribute name="column"/>
128        <xs:attribute name="delete-action">
129            <xs:simpleType>
130                <xs:restriction base="xs:token">
131                    <xs:enumeration value="restrict"/>
132                    <xs:enumeration value="cascade"/>
133                    <xs:enumeration value="null"/>
134                    <xs:enumeration value="default"/>
135                    <xs:enumeration value="none"/>
136                </xs:restriction>
137            </xs:simpleType>
138        </xs:attribute>
139        <xs:attribute name="indexed">
140            <xs:simpleType>
141                <xs:restriction base="xs:token">
142                    <xs:enumeration value="true"/>
143                    <xs:enumeration value="false"/>
144                    <xs:enumeration value="unique"/>
145                </xs:restriction>
146            </xs:simpleType>
147        </xs:attribute>
148        <xs:attribute name="unique">
149            <xs:simpleType>
150                <xs:restriction base="xs:token">
151                    <xs:enumeration value="true"/>
152                    <xs:enumeration value="false"/>
153                </xs:restriction>
154            </xs:simpleType>
155        </xs:attribute>
156        <xs:attribute name="mapped-by"/>
157        <xs:attribute name="recursion-depth"/>
158        <xs:attribute name="field-name"/>
159    </xs:attributeGroup>
160    <xs:element name="class">
161        <xs:complexType>
162            <xs:choice minOccurs="0" maxOccurs="unbounded">
163                <xs:annotation><xs:documentation>
164                    Please note,
165                    the following subelements must not occur more than once:
166                    - datastore-identity
167                    - primary-key
168                    - inheritance
169                    - version
170                </xs:documentation></xs:annotation>
171                <xs:element ref="extension"/>
172                <xs:element ref="datastore-identity"/>
173                <xs:element ref="primary-key"/>
174                <xs:element ref="inheritance"/>
175                <xs:element ref="version"/>
176                <xs:element ref="join"/>
177                <xs:element ref="foreign-key"/>
178                <xs:element ref="index"/>
179                <xs:element ref="unique"/>
180                <xs:element ref="column"/>
181                <xs:element ref="field"/>
182                <xs:element ref="property"/>
183                <xs:element ref="query"/>
184            </xs:choice>
185            <xs:attributeGroup ref="attlist.class"/>
186        </xs:complexType>
187    </xs:element>
188    <xs:attributeGroup name="attlist.class">
189        <xs:attribute name="name" use="required"/>
190        <xs:attribute name="table"/>
191        <xs:attribute name="catalog"/>
192        <xs:attribute name="schema"/>
193    </xs:attributeGroup>
194    <xs:element name="primary-key">
195        <xs:complexType>
196            <xs:choice minOccurs="0" maxOccurs="unbounded">
197                <xs:element ref="extension"/>
198                <xs:element ref="column"/>
199            </xs:choice>
200            <xs:attributeGroup ref="attlist.primary-key"/>
201        </xs:complexType>
202    </xs:element>
203    <xs:attributeGroup name="attlist.primary-key">
204        <xs:attribute name="name"/>
205        <xs:attribute name="column"/>
206    </xs:attributeGroup>
207    <xs:element name="join">
208        <xs:complexType>
209            <xs:choice minOccurs="0" maxOccurs="unbounded">
210                <xs:annotation><xs:documentation>
211                    Please note,
212                    the following subelements must not occur more than once:
213                    - primary-key
214                    - foreign-key
215                    - index
216                    - unique
217                </xs:documentation></xs:annotation>
218                <xs:element ref="extension"/>
219                <xs:element ref="primary-key"/>
220                <xs:element ref="column"/>
221                <xs:element ref="foreign-key"/>
222                <xs:element ref="index"/>
223                <xs:element ref="unique"/>
224            </xs:choice>
225            <xs:attributeGroup ref="attlist.join"/>
226        </xs:complexType>
227    </xs:element>
228    <xs:attributeGroup name="attlist.join">
229        <xs:attribute name="table"/>
230        <xs:attribute name="column"/>
231        <xs:attribute name="outer" default="false">
232            <xs:simpleType>
233                <xs:restriction base="xs:token">
234                    <xs:enumeration value="true"/>
235                    <xs:enumeration value="false"/>
236                </xs:restriction>
237            </xs:simpleType>
238        </xs:attribute>
239        <xs:attribute name="delete-action">
240            <xs:simpleType>
241                <xs:restriction base="xs:token">
242                    <xs:enumeration value="restrict"/>
243                    <xs:enumeration value="cascade"/>
244                    <xs:enumeration value="null"/>
245                    <xs:enumeration value="default"/>
246                    <xs:enumeration value="none"/>
247                </xs:restriction>
248            </xs:simpleType>
249        </xs:attribute>
250        <xs:attribute name="indexed">
251            <xs:simpleType>
252                <xs:restriction base="xs:token">
253                    <xs:enumeration value="true"/>
254                    <xs:enumeration value="false"/>
255                    <xs:enumeration value="unique"/>
256                </xs:restriction>
257            </xs:simpleType>
258        </xs:attribute>
259        <xs:attribute name="unique">
260            <xs:simpleType>
261                <xs:restriction base="xs:token">
262                    <xs:enumeration value="true"/>
263                    <xs:enumeration value="false"/>
264                </xs:restriction>
265            </xs:simpleType>
266        </xs:attribute>
267    </xs:attributeGroup>
268    <xs:element name="version">
269        <xs:complexType>
270            <xs:choice minOccurs="0" maxOccurs="unbounded">
271                <xs:annotation><xs:documentation>
272                    Please note,
273                    the following subelements must not occur more than once:
274                    - index
275                </xs:documentation></xs:annotation>
276                <xs:element ref="extension"/>
277                <xs:element ref="column"/>
278                <xs:element ref="index"/>
279            </xs:choice>
280            <xs:attributeGroup ref="attlist.version"/>
281        </xs:complexType>
282    </xs:element>
283    <xs:attributeGroup name="attlist.version">
284        <xs:attribute name="strategy"/>
285        <xs:attribute name="column"/>
286        <xs:attribute name="indexed">
287            <xs:simpleType>
288                <xs:restriction base="xs:token">
289                    <xs:enumeration value="true"/>
290                    <xs:enumeration value="false"/>
291                    <xs:enumeration value="unique"/>
292                </xs:restriction>
293            </xs:simpleType>
294        </xs:attribute>
295    </xs:attributeGroup>
296    <xs:element name="datastore-identity">
297        <xs:complexType>
298            <xs:choice minOccurs="0" maxOccurs="unbounded">
299                <xs:element ref="extension"/>
300                <xs:element ref="column"/>
301            </xs:choice>
302            <xs:attributeGroup ref="attlist.datastore-identity"/>
303        </xs:complexType>
304    </xs:element>
305    <xs:attributeGroup name="attlist.datastore-identity">
306        <xs:attribute name="column"/>
307        <xs:attribute name="strategy" default="native"/>
308        <xs:attribute name="sequence"/>
309    </xs:attributeGroup>
310    <xs:element name="implements">
311        <xs:complexType>
312            <xs:choice minOccurs="0" maxOccurs="unbounded">
313                <xs:element ref="extension"/>
314                <xs:element ref="property"/>
315            </xs:choice>
316            <xs:attributeGroup ref="attlist.implements"/>
317        </xs:complexType>
318    </xs:element>
319    <xs:attributeGroup name="attlist.implements">
320        <xs:attribute name="name" use="required"/>
321    </xs:attributeGroup>
322    <xs:element name="inheritance">
323        <xs:complexType>
324            <xs:choice minOccurs="0" maxOccurs="unbounded">
325                <xs:annotation><xs:documentation>
326                    Please note,
327                    the following subelements must not occur more than once:
328                    - join
329                    - discriminator
330                </xs:documentation></xs:annotation>
331                <xs:element ref="extension"/>
332                <xs:element ref="join"/>
333                <xs:element ref="discriminator"/>
334            </xs:choice>
335            <xs:attributeGroup ref="attlist.inheritance"/>
336        </xs:complexType>
337    </xs:element>
338    <xs:attributeGroup name="attlist.inheritance">
339        <xs:attribute name="strategy"/>
340    </xs:attributeGroup>
341    <xs:element name="discriminator">
342        <xs:complexType>
343            <xs:choice minOccurs="0" maxOccurs="unbounded">
344                <xs:annotation><xs:documentation>
345                    Please note,
346                    the following subelements must not occur more than once:
347                    - index
348                </xs:documentation></xs:annotation>
349                <xs:element ref="extension"/>
350                <xs:element ref="column"/>
351                <xs:element ref="index"/>
352            </xs:choice>
353            <xs:attributeGroup ref="attlist.discriminator"/>
354        </xs:complexType>
355    </xs:element>
356    <xs:attributeGroup name="attlist.discriminator">
357        <xs:attribute name="column"/>
358        <xs:attribute name="value"/>
359        <xs:attribute name="strategy"/>
360        <xs:attribute name="indexed">
361            <xs:simpleType>
362                <xs:restriction base="xs:token">
363                    <xs:enumeration value="true"/>
364                    <xs:enumeration value="false"/>
365                    <xs:enumeration value="unique"/>
366                </xs:restriction>
367            </xs:simpleType>
368        </xs:attribute>
369    </xs:attributeGroup>
370    <xs:element name="column">
371        <xs:complexType>
372            <xs:sequence>
373                <xs:element minOccurs="0" maxOccurs="unbounded" ref="extension"/>
374            </xs:sequence>
375            <xs:attributeGroup ref="attlist.column"/>
376        </xs:complexType>
377    </xs:element>
378    <xs:attributeGroup name="attlist.column">
379        <xs:attribute name="name"/>
380        <xs:attribute name="target"/>
381        <xs:attribute name="target-field"/>
382        <xs:attribute name="jdbc-type"/>
383        <xs:attribute name="sql-type"/>
384        <xs:attribute name="length"/>
385        <xs:attribute name="scale"/>
386        <xs:attribute name="allows-null">
387            <xs:simpleType>
388                <xs:restriction base="xs:token">
389                    <xs:enumeration value="true"/>
390                    <xs:enumeration value="false"/>
391                </xs:restriction>
392            </xs:simpleType>
393        </xs:attribute>
394        <xs:attribute name="default-value"/>
395        <xs:attribute name="insert-value"/>
396    </xs:attributeGroup>
397    <xs:element name="field">
398        <xs:complexType>
399            <xs:choice minOccurs="0" maxOccurs="unbounded">
400                <xs:annotation><xs:documentation>
401                    Please note,
402                    the following subelements must not occur more than once:
403                    - join
404                    - embedded
405                    - key
406                    - value
407                    - order
408                    - foreign-key
409                    - index
410                    - unique
411                </xs:documentation></xs:annotation>
412                <xs:element ref="extension"/>
413                <xs:element ref="join"/>
414                <xs:element ref="embedded"/>
415                <xs:element ref="element"/>
416                <xs:element ref="key"/>
417                <xs:element ref="value"/>
418                <xs:element ref="order"/>
419                <xs:element ref="column"/>
420                <xs:element ref="foreign-key"/>
421                <xs:element ref="index"/>
422                <xs:element ref="unique"/>
423            </xs:choice>
424            <xs:attributeGroup ref="attlist.field"/>
425        </xs:complexType>
426    </xs:element>
427    <xs:attributeGroup name="attlist.field">
428        <xs:attribute name="name" use="required"/>
429        <xs:attribute name="table"/>
430        <xs:attribute name="column"/>
431        <xs:attribute name="value-strategy"/>
432        <xs:attribute name="delete-action">
433            <xs:simpleType>
434                <xs:restriction base="xs:token">
435                    <xs:enumeration value="restrict"/>
436                    <xs:enumeration value="cascade"/>
437                    <xs:enumeration value="null"/>
438                    <xs:enumeration value="default"/>
439                    <xs:enumeration value="none"/>
440                </xs:restriction>
441            </xs:simpleType>
442        </xs:attribute>
443        <xs:attribute name="indexed">
444            <xs:simpleType>
445                <xs:restriction base="xs:token">
446                    <xs:enumeration value="true"/>
447                    <xs:enumeration value="false"/>
448                    <xs:enumeration value="unique"/>
449                </xs:restriction>
450            </xs:simpleType>
451        </xs:attribute>
452        <xs:attribute name="unique">
453            <xs:simpleType>
454                <xs:restriction base="xs:token">
455                    <xs:enumeration value="true"/>
456                    <xs:enumeration value="false"/>
457                </xs:restriction>
458            </xs:simpleType>
459        </xs:attribute>
460        <xs:attribute name="sequence"/>
461        <xs:attribute name="mapped-by"/>
462    </xs:attributeGroup>
463    <xs:element name="foreign-key">
464        <xs:complexType>
465            <xs:choice minOccurs="0" maxOccurs="unbounded">
466                <xs:annotation><xs:documentation>
467                    Please note,
468                    the following subelements must not occur more than once:
469                    - the choice of columns, fields and properties
470                </xs:documentation></xs:annotation>
471                <xs:element ref="extension"/>
472                <xs:choice minOccurs="0" maxOccurs="1">
473                    <xs:element minOccurs="0" maxOccurs="unbounded" ref="column"/>
474                    <xs:element minOccurs="0" maxOccurs="unbounded" ref="field"/>
475                    <xs:element minOccurs="0" maxOccurs="unbounded" ref="property"/>
476                </xs:choice>
477            </xs:choice>
478            <xs:attributeGroup ref="attlist.foreign-key"/>
479        </xs:complexType>
480    </xs:element>
481    <xs:attributeGroup name="attlist.foreign-key">
482        <xs:attribute name="table"/>
483        <xs:attribute name="deferred">
484            <xs:simpleType>
485                <xs:restriction base="xs:token">
486                    <xs:enumeration value="true"/>
487                    <xs:enumeration value="false"/>
488                </xs:restriction>
489            </xs:simpleType>
490        </xs:attribute>
491        <xs:attribute name="delete-action" default="restrict">
492            <xs:simpleType>
493                <xs:restriction base="xs:token">
494                    <xs:enumeration value="restrict"/>
495                    <xs:enumeration value="cascade"/>
496                    <xs:enumeration value="null"/>
497                    <xs:enumeration value="default"/>
498                    <xs:enumeration value="none"/>
499                </xs:restriction>
500            </xs:simpleType>
501        </xs:attribute>
502        <xs:attribute name="update-action" default="restrict">
503            <xs:simpleType>
504                <xs:restriction base="xs:token">
505                    <xs:enumeration value="restrict"/>
506                    <xs:enumeration value="cascade"/>
507                    <xs:enumeration value="null"/>
508                    <xs:enumeration value="default"/>
509                    <xs:enumeration value="none"/>
510                </xs:restriction>
511            </xs:simpleType>
512        </xs:attribute>
513        <xs:attribute name="unique">
514            <xs:simpleType>
515                <xs:restriction base="xs:token">
516                    <xs:enumeration value="true"/>
517                    <xs:enumeration value="false"/>
518                </xs:restriction>
519            </xs:simpleType>
520        </xs:attribute>
521        <xs:attribute name="name"/>
522    </xs:attributeGroup>
523    <xs:element name="key">
524        <xs:complexType>
525            <xs:choice minOccurs="0" maxOccurs="unbounded">
526                <xs:annotation><xs:documentation>
527                    Please note,
528                    the following subelements must not occur more than once:
529                    - embedded
530                    - foreign-key
531                    - index
532                    - unique
533                </xs:documentation></xs:annotation>
534                <xs:element ref="extension"/>
535                <xs:element ref="embedded"/>
536                <xs:element ref="column"/>
537                <xs:element ref="foreign-key"/>
538                <xs:element ref="index"/>
539                <xs:element ref="unique"/>
540            </xs:choice>
541            <xs:attributeGroup ref="attlist.key"/>
542        </xs:complexType>
543    </xs:element>
544    <xs:attributeGroup name="attlist.key">
545        <xs:attribute name="column"/>
546        <xs:attribute name="table"/>
547        <xs:attribute name="delete-action">
548            <xs:simpleType>
549                <xs:restriction base="xs:token">
550                    <xs:enumeration value="restrict"/>
551                    <xs:enumeration value="cascade"/>
552                    <xs:enumeration value="null"/>
553                    <xs:enumeration value="default"/>
554                    <xs:enumeration value="none"/>
555                </xs:restriction>
556            </xs:simpleType>
557        </xs:attribute>
558        <xs:attribute name="update-action">
559            <xs:simpleType>
560                <xs:restriction base="xs:token">
561                    <xs:enumeration value="restrict"/>
562                    <xs:enumeration value="cascade"/>
563                    <xs:enumeration value="null"/>
564                    <xs:enumeration value="default"/>
565                    <xs:enumeration value="none"/>
566                </xs:restriction>
567            </xs:simpleType>
568        </xs:attribute>
569        <xs:attribute name="indexed">
570            <xs:simpleType>
571                <xs:restriction base="xs:token">
572                    <xs:enumeration value="true"/>
573                    <xs:enumeration value="false"/>
574                    <xs:enumeration value="unique"/>
575                </xs:restriction>
576            </xs:simpleType>
577        </xs:attribute>
578        <xs:attribute name="unique">
579            <xs:simpleType>
580                <xs:restriction base="xs:token">
581                    <xs:enumeration value="true"/>
582                    <xs:enumeration value="false"/>
583                </xs:restriction>
584            </xs:simpleType>
585        </xs:attribute>
586        <xs:attribute name="mapped-by"/>
587    </xs:attributeGroup>
588    <xs:element name="value">
589        <xs:complexType>
590            <xs:choice minOccurs="0" maxOccurs="unbounded">
591                <xs:annotation><xs:documentation>
592                    Please note,
593                    the following subelements must not occur more than once:
594                    - embedded
595                    - foreign-key
596                    - index
597                    - unique
598                </xs:documentation></xs:annotation>
599                <xs:element ref="extension"/>
600                <xs:element ref="embedded"/>
601                <xs:element ref="column"/>
602                <xs:element ref="foreign-key"/>
603                <xs:element ref="index"/>
604                <xs:element ref="unique"/>
605            </xs:choice>
606            <xs:attributeGroup ref="attlist.value"/>
607        </xs:complexType>
608    </xs:element>
609    <xs:attributeGroup name="attlist.value">
610        <xs:attribute name="column"/>
611        <xs:attribute name="table"/>
612        <xs:attribute name="delete-action">
613            <xs:simpleType>
614                <xs:restriction base="xs:token">
615                    <xs:enumeration value="restrict"/>
616                    <xs:enumeration value="cascade"/>
617                    <xs:enumeration value="null"/>
618                    <xs:enumeration value="default"/>
619                    <xs:enumeration value="none"/>
620                </xs:restriction>
621            </xs:simpleType>
622        </xs:attribute>
623        <xs:attribute name="update-action">
624            <xs:simpleType>
625                <xs:restriction base="xs:token">
626                    <xs:enumeration value="restrict"/>
627                    <xs:enumeration value="cascade"/>
628                    <xs:enumeration value="null"/>
629                    <xs:enumeration value="default"/>
630                    <xs:enumeration value="none"/>
631                </xs:restriction>
632            </xs:simpleType>
633        </xs:attribute>
634        <xs:attribute name="indexed">
635            <xs:simpleType>
636                <xs:restriction base="xs:token">
637                    <xs:enumeration value="true"/>
638                    <xs:enumeration value="false"/>
639                    <xs:enumeration value="unique"/>
640                </xs:restriction>
641            </xs:simpleType>
642        </xs:attribute>
643        <xs:attribute name="unique">
644            <xs:simpleType>
645                <xs:restriction base="xs:token">
646                    <xs:enumeration value="true"/>
647                    <xs:enumeration value="false"/>
648                </xs:restriction>
649            </xs:simpleType>
650        </xs:attribute>
651        <xs:attribute name="mapped-by"/>
652    </xs:attributeGroup>
653    <xs:element name="element">
654        <xs:complexType>
655            <xs:choice minOccurs="0" maxOccurs="unbounded">
656                <xs:annotation><xs:documentation>
657                    Please note,
658                    the following subelements must not occur more than once:
659                    - embedded
660                    - foreign-key
661                    - index
662                    - unique
663                </xs:documentation></xs:annotation>
664                <xs:element ref="extension"/>
665                <xs:element ref="embedded"/>
666                <xs:element ref="column"/>
667                <xs:element ref="foreign-key"/>
668                <xs:element ref="index"/>
669                <xs:element ref="unique"/>
670            </xs:choice>
671            <xs:attributeGroup ref="attlist.element"/>
672        </xs:complexType>
673    </xs:element>
674    <xs:attributeGroup name="attlist.element">
675        <xs:attribute name="column"/>
676        <xs:attribute name="table"/>
677        <xs:attribute name="delete-action">
678            <xs:simpleType>
679                <xs:restriction base="xs:token">
680                    <xs:enumeration value="restrict"/>
681                    <xs:enumeration value="cascade"/>
682                    <xs:enumeration value="null"/>
683                    <xs:enumeration value="default"/>
684                    <xs:enumeration value="none"/>
685                </xs:restriction>
686            </xs:simpleType>
687        </xs:attribute>
688        <xs:attribute name="update-action">
689            <xs:simpleType>
690                <xs:restriction base="xs:token">
691                    <xs:enumeration value="restrict"/>
692                    <xs:enumeration value="cascade"/>
693                    <xs:enumeration value="null"/>
694                    <xs:enumeration value="default"/>
695                    <xs:enumeration value="none"/>
696                </xs:restriction>
697            </xs:simpleType>
698        </xs:attribute>
699        <xs:attribute name="indexed">
700            <xs:simpleType>
701                <xs:restriction base="xs:token">
702                    <xs:enumeration value="true"/>
703                    <xs:enumeration value="false"/>
704                    <xs:enumeration value="unique"/>
705                </xs:restriction>
706            </xs:simpleType>
707        </xs:attribute>
708        <xs:attribute name="unique">
709            <xs:simpleType>
710                <xs:restriction base="xs:token">
711                    <xs:enumeration value="true"/>
712                    <xs:enumeration value="false"/>
713                </xs:restriction>
714            </xs:simpleType>
715        </xs:attribute>
716        <xs:attribute name="mapped-by"/>
717    </xs:attributeGroup>
718    <xs:element name="order">
719        <xs:complexType>
720            <xs:choice minOccurs="0" maxOccurs="unbounded">
721                <xs:annotation><xs:documentation>
722                    Please note,
723                    the following subelements must not occur more than once:
724                    - index
725                </xs:documentation></xs:annotation>
726                <xs:element ref="extension"/>
727                <xs:element ref="column"/>
728                <xs:element ref="index"/>
729            </xs:choice>
730            <xs:attributeGroup ref="attlist.order"/>
731        </xs:complexType>
732    </xs:element>
733    <xs:attributeGroup name="attlist.order">
734        <xs:attribute name="column"/>
735        <xs:attribute name="mapped-by"/>
736    </xs:attributeGroup>
737    <xs:element name="embedded">
738        <xs:complexType>
739            <xs:choice minOccurs="0" maxOccurs="unbounded">
740                <xs:element ref="extension"/>
741                <xs:element ref="field"/>
742                <xs:element ref="property"/>
743            </xs:choice>
744            <xs:attributeGroup ref="attlist.embedded"/>
745        </xs:complexType>
746    </xs:element>
747    <xs:attributeGroup name="attlist.embedded">
748        <xs:attribute name="owner-field"/>
749        <xs:attribute name="null-indicator-column"/>
750        <xs:attribute name="null-indicator-value"/>
751    </xs:attributeGroup>
752    <xs:element name="sequence">
753        <xs:complexType>
754            <xs:sequence>
755                <xs:element minOccurs="0" maxOccurs="unbounded" ref="extension"/>
756            </xs:sequence>
757            <xs:attributeGroup ref="attlist.sequence"/>
758        </xs:complexType>
759    </xs:element>
760    <xs:attributeGroup name="attlist.sequence">
761        <xs:attribute name="name" use="required"/>
762        <xs:attribute name="datastore-sequence"/>
763        <xs:attribute name="factory-class"/>
764        <xs:attribute name="strategy" use="required">
765            <xs:simpleType>
766                <xs:restriction base="xs:token">
767                    <xs:enumeration value="nontransactional"/>
768                    <xs:enumeration value="contiguous"/>
769                    <xs:enumeration value="noncontiguous"/>
770                </xs:restriction>
771            </xs:simpleType>
772        </xs:attribute>
773    </xs:attributeGroup>
774    <xs:element name="index">
775        <xs:complexType>
776            <xs:choice minOccurs="0" maxOccurs="unbounded">
777                <xs:annotation><xs:documentation>
778                    Please note,
779                    the following subelements must not occur more than once:
780                    - the choice of columns, fields or properties
781                </xs:documentation></xs:annotation>
782                <xs:element ref="extension"/>
783                <xs:choice>
784                    <xs:element minOccurs="0" maxOccurs="unbounded" ref="column"/>
785                    <xs:element minOccurs="0" maxOccurs="unbounded" ref="field"/>
786                    <xs:element minOccurs="0" maxOccurs="unbounded" ref="property"/>
787                </xs:choice>
788            </xs:choice>
789            <xs:attributeGroup ref="attlist.index"/>
790        </xs:complexType>
791    </xs:element>
792    <xs:attributeGroup name="attlist.index">
793        <xs:attribute name="name"/>
794        <xs:attribute name="table"/>
795        <xs:attribute name="unique" default="false">
796            <xs:simpleType>
797                <xs:restriction base="xs:token">
798                    <xs:enumeration value="true"/>
799                    <xs:enumeration value="false"/>
800                </xs:restriction>
801            </xs:simpleType>
802        </xs:attribute>
803    </xs:attributeGroup>
804    <xs:element name="query">
805        <xs:complexType mixed="true">
806            <xs:sequence>
807                <xs:element minOccurs="0" maxOccurs="unbounded" ref="extension"/>
808            </xs:sequence>
809            <xs:attributeGroup ref="attlist.query"/>
810        </xs:complexType>
811    </xs:element>
812    <xs:attributeGroup name="attlist.query">
813        <xs:attribute name="name" use="required"/>
814        <xs:attribute name="language"/>
815        <xs:attribute name="unmodifiable" default="false">
816            <xs:simpleType>
817                <xs:restriction base="xs:token">
818                    <xs:enumeration value="true"/>
819                    <xs:enumeration value="false"/>
820                </xs:restriction>
821            </xs:simpleType>
822        </xs:attribute>
823        <xs:attribute name="unique">
824            <xs:simpleType>
825                <xs:restriction base="xs:token">
826                    <xs:enumeration value="true"/>
827                    <xs:enumeration value="false"/>
828                </xs:restriction>
829            </xs:simpleType>
830        </xs:attribute>
831        <xs:attribute name="result-class"/>
832    </xs:attributeGroup>
833    <xs:element name="unique">
834        <xs:complexType>
835            <xs:choice minOccurs="0" maxOccurs="unbounded">
836                <xs:annotation><xs:documentation>
837                    Please note,
838                    the following subelements must not occur more than once:
839                    - the choice of columns, fields or properties
840                </xs:documentation></xs:annotation>
841                <xs:element ref="extension"/>
842                <xs:choice>
843                    <xs:element minOccurs="0" maxOccurs="unbounded" ref="column"/>
844                    <xs:element minOccurs="0" maxOccurs="unbounded" ref="field"/>
845                    <xs:element minOccurs="0" maxOccurs="unbounded" ref="property"/>
846                </xs:choice>
847            </xs:choice>
848            <xs:attributeGroup ref="attlist.unique"/>
849        </xs:complexType>
850    </xs:element>
851    <xs:attributeGroup name="attlist.unique">
852        <xs:attribute name="name"/>
853        <xs:attribute name="table"/>
854        <xs:attribute name="deferred" default="false">
855            <xs:simpleType>
856                <xs:restriction base="xs:token">
857                    <xs:enumeration value="true"/>
858                    <xs:enumeration value="false"/>
859                </xs:restriction>
860            </xs:simpleType>
861        </xs:attribute>
862    </xs:attributeGroup>
863    <xs:element name="extension">
864        <xs:complexType>
865            <xs:complexContent>
866                <xs:extension base="any">
867                    <xs:attributeGroup ref="attlist.extension"/>
868                </xs:extension>
869            </xs:complexContent>
870        </xs:complexType>
871    </xs:element>
872    <xs:attributeGroup name="attlist.extension">
873        <xs:attribute name="vendor-name" use="required"/>
874        <xs:attribute name="key"/>
875        <xs:attribute name="value"/>
876    </xs:attributeGroup>
877    <xs:complexType name="any" mixed="true">
878        <xs:sequence>
879            <xs:any minOccurs="0" maxOccurs="unbounded" processContents="skip"/>
880        </xs:sequence>
881    </xs:complexType>
882</xs:schema>
Note: See TracBrowser for help on using the repository browser.