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

Revision 6785, 35.2 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="3.1">
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:attribute name="position"/>
397    </xs:attributeGroup>
398    <xs:element name="field">
399        <xs:complexType>
400            <xs:choice minOccurs="0" maxOccurs="unbounded">
401                <xs:annotation><xs:documentation>
402                    Please note,
403                    the following subelements must not occur more than once:
404                    - join
405                    - embedded
406                    - key
407                    - value
408                    - order
409                    - foreign-key
410                    - index
411                    - unique
412                </xs:documentation></xs:annotation>
413                <xs:element ref="extension"/>
414                <xs:element ref="join"/>
415                <xs:element ref="embedded"/>
416                <xs:element ref="element"/>
417                <xs:element ref="key"/>
418                <xs:element ref="value"/>
419                <xs:element ref="order"/>
420                <xs:element ref="column"/>
421                <xs:element ref="foreign-key"/>
422                <xs:element ref="index"/>
423                <xs:element ref="unique"/>
424            </xs:choice>
425            <xs:attributeGroup ref="attlist.field"/>
426        </xs:complexType>
427    </xs:element>
428    <xs:attributeGroup name="attlist.field">
429        <xs:attribute name="name" use="required"/>
430        <xs:attribute name="table"/>
431        <xs:attribute name="column"/>
432        <xs:attribute name="value-strategy"/>
433        <xs:attribute name="delete-action">
434            <xs:simpleType>
435                <xs:restriction base="xs:token">
436                    <xs:enumeration value="restrict"/>
437                    <xs:enumeration value="cascade"/>
438                    <xs:enumeration value="null"/>
439                    <xs:enumeration value="default"/>
440                    <xs:enumeration value="none"/>
441                </xs:restriction>
442            </xs:simpleType>
443        </xs:attribute>
444        <xs:attribute name="indexed">
445            <xs:simpleType>
446                <xs:restriction base="xs:token">
447                    <xs:enumeration value="true"/>
448                    <xs:enumeration value="false"/>
449                    <xs:enumeration value="unique"/>
450                </xs:restriction>
451            </xs:simpleType>
452        </xs:attribute>
453        <xs:attribute name="unique">
454            <xs:simpleType>
455                <xs:restriction base="xs:token">
456                    <xs:enumeration value="true"/>
457                    <xs:enumeration value="false"/>
458                </xs:restriction>
459            </xs:simpleType>
460        </xs:attribute>
461        <xs:attribute name="sequence"/>
462        <xs:attribute name="mapped-by"/>
463    </xs:attributeGroup>
464    <xs:element name="foreign-key">
465        <xs:complexType>
466            <xs:choice minOccurs="0" maxOccurs="unbounded">
467                <xs:annotation><xs:documentation>
468                    Please note,
469                    the following subelements must not occur more than once:
470                    - the choice of columns, fields and properties
471                </xs:documentation></xs:annotation>
472                <xs:element ref="extension"/>
473                <xs:choice minOccurs="0" maxOccurs="1">
474                    <xs:element minOccurs="0" maxOccurs="unbounded" ref="column"/>
475                    <xs:element minOccurs="0" maxOccurs="unbounded" ref="field"/>
476                    <xs:element minOccurs="0" maxOccurs="unbounded" ref="property"/>
477                </xs:choice>
478            </xs:choice>
479            <xs:attributeGroup ref="attlist.foreign-key"/>
480        </xs:complexType>
481    </xs:element>
482    <xs:attributeGroup name="attlist.foreign-key">
483        <xs:attribute name="table"/>
484        <xs:attribute name="deferred">
485            <xs:simpleType>
486                <xs:restriction base="xs:token">
487                    <xs:enumeration value="true"/>
488                    <xs:enumeration value="false"/>
489                </xs:restriction>
490            </xs:simpleType>
491        </xs:attribute>
492        <xs:attribute name="delete-action" default="restrict">
493            <xs:simpleType>
494                <xs:restriction base="xs:token">
495                    <xs:enumeration value="restrict"/>
496                    <xs:enumeration value="cascade"/>
497                    <xs:enumeration value="null"/>
498                    <xs:enumeration value="default"/>
499                    <xs:enumeration value="none"/>
500                </xs:restriction>
501            </xs:simpleType>
502        </xs:attribute>
503        <xs:attribute name="update-action" default="restrict">
504            <xs:simpleType>
505                <xs:restriction base="xs:token">
506                    <xs:enumeration value="restrict"/>
507                    <xs:enumeration value="cascade"/>
508                    <xs:enumeration value="null"/>
509                    <xs:enumeration value="default"/>
510                    <xs:enumeration value="none"/>
511                </xs:restriction>
512            </xs:simpleType>
513        </xs:attribute>
514        <xs:attribute name="unique">
515            <xs:simpleType>
516                <xs:restriction base="xs:token">
517                    <xs:enumeration value="true"/>
518                    <xs:enumeration value="false"/>
519                </xs:restriction>
520            </xs:simpleType>
521        </xs:attribute>
522        <xs:attribute name="name"/>
523    </xs:attributeGroup>
524    <xs:element name="key">
525        <xs:complexType>
526            <xs:choice minOccurs="0" maxOccurs="unbounded">
527                <xs:annotation><xs:documentation>
528                    Please note,
529                    the following subelements must not occur more than once:
530                    - embedded
531                    - foreign-key
532                    - index
533                    - unique
534                </xs:documentation></xs:annotation>
535                <xs:element ref="extension"/>
536                <xs:element ref="embedded"/>
537                <xs:element ref="column"/>
538                <xs:element ref="foreign-key"/>
539                <xs:element ref="index"/>
540                <xs:element ref="unique"/>
541            </xs:choice>
542            <xs:attributeGroup ref="attlist.key"/>
543        </xs:complexType>
544    </xs:element>
545    <xs:attributeGroup name="attlist.key">
546        <xs:attribute name="column"/>
547        <xs:attribute name="table"/>
548        <xs:attribute name="delete-action">
549            <xs:simpleType>
550                <xs:restriction base="xs:token">
551                    <xs:enumeration value="restrict"/>
552                    <xs:enumeration value="cascade"/>
553                    <xs:enumeration value="null"/>
554                    <xs:enumeration value="default"/>
555                    <xs:enumeration value="none"/>
556                </xs:restriction>
557            </xs:simpleType>
558        </xs:attribute>
559        <xs:attribute name="update-action">
560            <xs:simpleType>
561                <xs:restriction base="xs:token">
562                    <xs:enumeration value="restrict"/>
563                    <xs:enumeration value="cascade"/>
564                    <xs:enumeration value="null"/>
565                    <xs:enumeration value="default"/>
566                    <xs:enumeration value="none"/>
567                </xs:restriction>
568            </xs:simpleType>
569        </xs:attribute>
570        <xs:attribute name="indexed">
571            <xs:simpleType>
572                <xs:restriction base="xs:token">
573                    <xs:enumeration value="true"/>
574                    <xs:enumeration value="false"/>
575                    <xs:enumeration value="unique"/>
576                </xs:restriction>
577            </xs:simpleType>
578        </xs:attribute>
579        <xs:attribute name="unique">
580            <xs:simpleType>
581                <xs:restriction base="xs:token">
582                    <xs:enumeration value="true"/>
583                    <xs:enumeration value="false"/>
584                </xs:restriction>
585            </xs:simpleType>
586        </xs:attribute>
587        <xs:attribute name="mapped-by"/>
588    </xs:attributeGroup>
589    <xs:element name="value">
590        <xs:complexType>
591            <xs:choice minOccurs="0" maxOccurs="unbounded">
592                <xs:annotation><xs:documentation>
593                    Please note,
594                    the following subelements must not occur more than once:
595                    - embedded
596                    - foreign-key
597                    - index
598                    - unique
599                </xs:documentation></xs:annotation>
600                <xs:element ref="extension"/>
601                <xs:element ref="embedded"/>
602                <xs:element ref="column"/>
603                <xs:element ref="foreign-key"/>
604                <xs:element ref="index"/>
605                <xs:element ref="unique"/>
606            </xs:choice>
607            <xs:attributeGroup ref="attlist.value"/>
608        </xs:complexType>
609    </xs:element>
610    <xs:attributeGroup name="attlist.value">
611        <xs:attribute name="column"/>
612        <xs:attribute name="table"/>
613        <xs:attribute name="delete-action">
614            <xs:simpleType>
615                <xs:restriction base="xs:token">
616                    <xs:enumeration value="restrict"/>
617                    <xs:enumeration value="cascade"/>
618                    <xs:enumeration value="null"/>
619                    <xs:enumeration value="default"/>
620                    <xs:enumeration value="none"/>
621                </xs:restriction>
622            </xs:simpleType>
623        </xs:attribute>
624        <xs:attribute name="update-action">
625            <xs:simpleType>
626                <xs:restriction base="xs:token">
627                    <xs:enumeration value="restrict"/>
628                    <xs:enumeration value="cascade"/>
629                    <xs:enumeration value="null"/>
630                    <xs:enumeration value="default"/>
631                    <xs:enumeration value="none"/>
632                </xs:restriction>
633            </xs:simpleType>
634        </xs:attribute>
635        <xs:attribute name="indexed">
636            <xs:simpleType>
637                <xs:restriction base="xs:token">
638                    <xs:enumeration value="true"/>
639                    <xs:enumeration value="false"/>
640                    <xs:enumeration value="unique"/>
641                </xs:restriction>
642            </xs:simpleType>
643        </xs:attribute>
644        <xs:attribute name="unique">
645            <xs:simpleType>
646                <xs:restriction base="xs:token">
647                    <xs:enumeration value="true"/>
648                    <xs:enumeration value="false"/>
649                </xs:restriction>
650            </xs:simpleType>
651        </xs:attribute>
652        <xs:attribute name="mapped-by"/>
653    </xs:attributeGroup>
654    <xs:element name="element">
655        <xs:complexType>
656            <xs:choice minOccurs="0" maxOccurs="unbounded">
657                <xs:annotation><xs:documentation>
658                    Please note,
659                    the following subelements must not occur more than once:
660                    - embedded
661                    - foreign-key
662                    - index
663                    - unique
664                </xs:documentation></xs:annotation>
665                <xs:element ref="extension"/>
666                <xs:element ref="embedded"/>
667                <xs:element ref="column"/>
668                <xs:element ref="foreign-key"/>
669                <xs:element ref="index"/>
670                <xs:element ref="unique"/>
671            </xs:choice>
672            <xs:attributeGroup ref="attlist.element"/>
673        </xs:complexType>
674    </xs:element>
675    <xs:attributeGroup name="attlist.element">
676        <xs:attribute name="column"/>
677        <xs:attribute name="table"/>
678        <xs:attribute name="delete-action">
679            <xs:simpleType>
680                <xs:restriction base="xs:token">
681                    <xs:enumeration value="restrict"/>
682                    <xs:enumeration value="cascade"/>
683                    <xs:enumeration value="null"/>
684                    <xs:enumeration value="default"/>
685                    <xs:enumeration value="none"/>
686                </xs:restriction>
687            </xs:simpleType>
688        </xs:attribute>
689        <xs:attribute name="update-action">
690            <xs:simpleType>
691                <xs:restriction base="xs:token">
692                    <xs:enumeration value="restrict"/>
693                    <xs:enumeration value="cascade"/>
694                    <xs:enumeration value="null"/>
695                    <xs:enumeration value="default"/>
696                    <xs:enumeration value="none"/>
697                </xs:restriction>
698            </xs:simpleType>
699        </xs:attribute>
700        <xs:attribute name="indexed">
701            <xs:simpleType>
702                <xs:restriction base="xs:token">
703                    <xs:enumeration value="true"/>
704                    <xs:enumeration value="false"/>
705                    <xs:enumeration value="unique"/>
706                </xs:restriction>
707            </xs:simpleType>
708        </xs:attribute>
709        <xs:attribute name="unique">
710            <xs:simpleType>
711                <xs:restriction base="xs:token">
712                    <xs:enumeration value="true"/>
713                    <xs:enumeration value="false"/>
714                </xs:restriction>
715            </xs:simpleType>
716        </xs:attribute>
717        <xs:attribute name="mapped-by"/>
718    </xs:attributeGroup>
719    <xs:element name="order">
720        <xs:complexType>
721            <xs:choice minOccurs="0" maxOccurs="unbounded">
722                <xs:annotation><xs:documentation>
723                    Please note,
724                    the following subelements must not occur more than once:
725                    - index
726                </xs:documentation></xs:annotation>
727                <xs:element ref="extension"/>
728                <xs:element ref="column"/>
729                <xs:element ref="index"/>
730            </xs:choice>
731            <xs:attributeGroup ref="attlist.order"/>
732        </xs:complexType>
733    </xs:element>
734    <xs:attributeGroup name="attlist.order">
735        <xs:attribute name="column"/>
736        <xs:attribute name="mapped-by"/>
737    </xs:attributeGroup>
738    <xs:element name="embedded">
739        <xs:complexType>
740            <xs:choice minOccurs="0" maxOccurs="unbounded">
741                <xs:element ref="extension"/>
742                <xs:element ref="field"/>
743                <xs:element ref="property"/>
744            </xs:choice>
745            <xs:attributeGroup ref="attlist.embedded"/>
746        </xs:complexType>
747    </xs:element>
748    <xs:attributeGroup name="attlist.embedded">
749        <xs:attribute name="owner-field"/>
750        <xs:attribute name="null-indicator-column"/>
751        <xs:attribute name="null-indicator-value"/>
752    </xs:attributeGroup>
753    <xs:element name="sequence">
754        <xs:complexType>
755            <xs:sequence>
756                <xs:element minOccurs="0" maxOccurs="unbounded" ref="extension"/>
757            </xs:sequence>
758            <xs:attributeGroup ref="attlist.sequence"/>
759        </xs:complexType>
760    </xs:element>
761    <xs:attributeGroup name="attlist.sequence">
762        <xs:attribute name="name" use="required"/>
763        <xs:attribute name="datastore-sequence"/>
764        <xs:attribute name="factory-class"/>
765        <xs:attribute name="strategy" use="required">
766            <xs:simpleType>
767                <xs:restriction base="xs:token">
768                    <xs:enumeration value="nontransactional"/>
769                    <xs:enumeration value="contiguous"/>
770                    <xs:enumeration value="noncontiguous"/>
771                </xs:restriction>
772            </xs:simpleType>
773        </xs:attribute>
774        <xs:attribute name="allocation-size" default="50"/>
775        <xs:attribute name="initial-value" default="1"/>
776    </xs:attributeGroup>
777    <xs:element name="index">
778        <xs:complexType>
779            <xs:choice minOccurs="0" maxOccurs="unbounded">
780                <xs:annotation><xs:documentation>
781                    Please note,
782                    the following subelements must not occur more than once:
783                    - the choice of columns, fields or properties
784                </xs:documentation></xs:annotation>
785                <xs:element ref="extension"/>
786                <xs:choice>
787                    <xs:element minOccurs="0" maxOccurs="unbounded" ref="column"/>
788                    <xs:element minOccurs="0" maxOccurs="unbounded" ref="field"/>
789                    <xs:element minOccurs="0" maxOccurs="unbounded" ref="property"/>
790                </xs:choice>
791            </xs:choice>
792            <xs:attributeGroup ref="attlist.index"/>
793        </xs:complexType>
794    </xs:element>
795    <xs:attributeGroup name="attlist.index">
796        <xs:attribute name="name"/>
797        <xs:attribute name="table"/>
798        <xs:attribute name="unique" default="false">
799            <xs:simpleType>
800                <xs:restriction base="xs:token">
801                    <xs:enumeration value="true"/>
802                    <xs:enumeration value="false"/>
803                </xs:restriction>
804            </xs:simpleType>
805        </xs:attribute>
806    </xs:attributeGroup>
807    <xs:element name="query">
808        <xs:complexType mixed="true">
809            <xs:sequence>
810                <xs:element minOccurs="0" maxOccurs="unbounded" ref="extension"/>
811            </xs:sequence>
812            <xs:attributeGroup ref="attlist.query"/>
813        </xs:complexType>
814    </xs:element>
815    <xs:attributeGroup name="attlist.query">
816        <xs:attribute name="name" use="required"/>
817        <xs:attribute name="language"/>
818        <xs:attribute name="unmodifiable" default="false">
819            <xs:simpleType>
820                <xs:restriction base="xs:token">
821                    <xs:enumeration value="true"/>
822                    <xs:enumeration value="false"/>
823                </xs:restriction>
824            </xs:simpleType>
825        </xs:attribute>
826        <xs:attribute name="unique">
827            <xs:simpleType>
828                <xs:restriction base="xs:token">
829                    <xs:enumeration value="true"/>
830                    <xs:enumeration value="false"/>
831                </xs:restriction>
832            </xs:simpleType>
833        </xs:attribute>
834        <xs:attribute name="result-class"/>
835    </xs:attributeGroup>
836    <xs:element name="unique">
837        <xs:complexType>
838            <xs:choice minOccurs="0" maxOccurs="unbounded">
839                <xs:annotation><xs:documentation>
840                    Please note,
841                    the following subelements must not occur more than once:
842                    - the choice of columns, fields or properties
843                </xs:documentation></xs:annotation>
844                <xs:element ref="extension"/>
845                <xs:choice>
846                    <xs:element minOccurs="0" maxOccurs="unbounded" ref="column"/>
847                    <xs:element minOccurs="0" maxOccurs="unbounded" ref="field"/>
848                    <xs:element minOccurs="0" maxOccurs="unbounded" ref="property"/>
849                </xs:choice>
850            </xs:choice>
851            <xs:attributeGroup ref="attlist.unique"/>
852        </xs:complexType>
853    </xs:element>
854    <xs:attributeGroup name="attlist.unique">
855        <xs:attribute name="name"/>
856        <xs:attribute name="table"/>
857        <xs:attribute name="deferred" default="false">
858            <xs:simpleType>
859                <xs:restriction base="xs:token">
860                    <xs:enumeration value="true"/>
861                    <xs:enumeration value="false"/>
862                </xs:restriction>
863            </xs:simpleType>
864        </xs:attribute>
865    </xs:attributeGroup>
866    <xs:element name="extension">
867        <xs:complexType>
868            <xs:complexContent>
869                <xs:extension base="any">
870                    <xs:attributeGroup ref="attlist.extension"/>
871                </xs:extension>
872            </xs:complexContent>
873        </xs:complexType>
874    </xs:element>
875    <xs:attributeGroup name="attlist.extension">
876        <xs:attribute name="vendor-name" use="required"/>
877        <xs:attribute name="key"/>
878        <xs:attribute name="value"/>
879    </xs:attributeGroup>
880    <xs:complexType name="any" mixed="true">
881        <xs:sequence>
882            <xs:any minOccurs="0" maxOccurs="unbounded" processContents="skip"/>
883        </xs:sequence>
884    </xs:complexType>
885</xs:schema>
Note: See TracBrowser for help on using the repository browser.