JAL-4020 class reformatting
[jalview.git] / schemas / uniprot.xsd
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!--  
3         Retrieved for Jalview 04-Apr-2019 from https://www.uniprot.org/docs/uniprot.xsd 
4         Uniprot Release 2018_11: https://www.uniprot.org/news/2018/12/05/release
5         Generate Java binding classes by running this command in the schemas parent directory: 
6            xjc schemas/uniprot.xsd -d src -p jalview.xml.binding.uniprot 
7 -->
8 <!-- *****************************************************************************
9         UniProt Knowledgebase
10         Version:        $Revision$
11         Date:           $Date$
12
13         Copyright (c) 2011 UniProt consortium
14         All rights reserved.
15 *******************************************************************************-->
16 <xs:schema targetNamespace="http://uniprot.org/uniprot" xmlns:xs="http://www.w3.org/2001/XMLSchema"
17            xmlns="http://uniprot.org/uniprot" elementFormDefault="qualified">
18     <!-- XML Schema definition for the UniProtKB XML format
19          Tested with:
20          -XSV (XML Schema Validator), http://www.w3.org/2001/03/webdata/xsv
21          -->
22
23
24     <!-- Root element definition begins -->
25     <xs:element name="uniprot">
26         <xs:annotation>
27             <xs:documentation>Describes a collection of UniProtKB entries.</xs:documentation>
28         </xs:annotation>
29         <xs:complexType>
30             <xs:sequence>
31                 <xs:element ref="entry" maxOccurs="unbounded"/>
32                 <xs:element ref="copyright" minOccurs="0"/>
33             </xs:sequence>
34         </xs:complexType>
35     </xs:element>
36     <!-- Root element definition ends -->
37
38     <!-- Entry definition begins -->
39     <xs:element name="entry">
40         <xs:annotation>
41             <xs:documentation>Describes a UniProtKB entry.</xs:documentation>
42         </xs:annotation>
43         <xs:complexType>
44             <xs:sequence>
45                 <xs:element name="accession" type="xs:string" maxOccurs="unbounded"/>
46                 <xs:element name="name" type="xs:string" maxOccurs="unbounded"/>
47                 <xs:element name="protein" type="proteinType"/>
48                 <xs:element name="gene" type="geneType" minOccurs="0" maxOccurs="unbounded"/>
49                 <xs:element name="organism" type="organismType" />
50                 <xs:element name="organismHost" type="organismType" minOccurs="0" maxOccurs="unbounded"/>
51                 <xs:element name="geneLocation" type="geneLocationType" minOccurs="0" maxOccurs="unbounded"/>
52                 <xs:element name="reference" type="referenceType" maxOccurs="unbounded"/>
53                 <xs:element name="comment" type="commentType" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
54                 <xs:element name="dbReference" type="dbReferenceType" minOccurs="0" maxOccurs="unbounded"/>
55                 <xs:element name="proteinExistence" type="proteinExistenceType"/>
56                 <xs:element name="keyword" type="keywordType" minOccurs="0" maxOccurs="unbounded"/>
57                 <xs:element name="feature" type="featureType" minOccurs="0" maxOccurs="unbounded"/>
58                 <xs:element name="evidence" type="evidenceType" minOccurs="0" maxOccurs="unbounded"/>
59                 <xs:element name="sequence" type="sequenceType"/>
60             </xs:sequence>
61             <xs:attribute name="dataset" use="required">
62                 <xs:simpleType>
63                     <xs:restriction base="xs:string">
64                         <xs:enumeration value="Swiss-Prot"/>
65                         <xs:enumeration value="TrEMBL"/>
66                     </xs:restriction>
67                 </xs:simpleType>
68             </xs:attribute>
69             <xs:attribute name="created" type="xs:date" use="required"/>
70             <xs:attribute name="modified" type="xs:date" use="required"/>
71             <xs:attribute name="version" type="xs:int" use="required"/>
72         </xs:complexType>
73     </xs:element>
74     <!-- Entry definition ends -->
75
76     <xs:element name="copyright" type="xs:string"/>
77
78     <!-- Protein names definition begins -->
79     <xs:complexType name="proteinType">
80         <xs:annotation>
81             <xs:documentation>Describes the names for the protein and parts thereof.
82             Equivalent to the flat file DE-line.</xs:documentation>
83         </xs:annotation>
84         <xs:sequence>
85             <xs:group ref="proteinNameGroup"/>
86             <xs:element name="domain" minOccurs="0" maxOccurs="unbounded">
87                 <xs:annotation>
88                     <xs:documentation>Describes names of "domains".
89                     Equivalent to the flat file DE-line Includes: section.</xs:documentation>
90                 </xs:annotation>
91                 <xs:complexType>
92                     <xs:group ref="proteinNameGroup"/>
93                 </xs:complexType>
94             </xs:element>
95             <xs:element name="component" minOccurs="0" maxOccurs="unbounded">
96                 <xs:annotation>
97                     <xs:documentation>Describes names of processed products.
98                     Equivalent to the flat file DE-line Contains: section.</xs:documentation>
99                 </xs:annotation>
100                 <xs:complexType>
101                     <xs:group ref="proteinNameGroup"/>
102                 </xs:complexType>
103             </xs:element>
104         </xs:sequence>
105     </xs:complexType>
106     <xs:group name="proteinNameGroup">
107         <xs:sequence>
108             <xs:element name="recommendedName" minOccurs="0">
109                 <xs:complexType>
110                     <xs:sequence>
111                         <xs:element name="fullName" type="evidencedStringType"/>
112                         <xs:element name="shortName" type="evidencedStringType" minOccurs="0" maxOccurs="unbounded"/>
113                         <xs:element name="ecNumber" type="evidencedStringType" minOccurs="0" maxOccurs="unbounded"/>
114                     </xs:sequence>
115                     <!-- xs:attribute name="ref" type="xs:string" use="optional"/ -->
116                 </xs:complexType>
117             </xs:element>
118             <xs:element name="alternativeName" minOccurs="0" maxOccurs="unbounded">
119                 <xs:complexType>
120                     <xs:sequence>
121                         <xs:element name="fullName" type="evidencedStringType" minOccurs="0"/>
122                         <xs:element name="shortName" type="evidencedStringType" minOccurs="0" maxOccurs="unbounded"/>
123                         <xs:element name="ecNumber" type="evidencedStringType" minOccurs="0" maxOccurs="unbounded"/>
124                     </xs:sequence>
125                     <!-- xs:attribute name="ref" type="xs:string" use="optional"/ -->
126                 </xs:complexType>
127             </xs:element>
128             <xs:element name="submittedName" minOccurs="0" maxOccurs="unbounded">
129                 <xs:complexType>
130                     <xs:sequence>
131                         <xs:element name="fullName" type="evidencedStringType"/>
132                         <xs:element name="ecNumber" type="evidencedStringType" minOccurs="0" maxOccurs="unbounded"/>
133                     </xs:sequence>
134                     <!-- xs:attribute name="ref" type="xs:string" use="optional"/ -->
135                 </xs:complexType>
136             </xs:element>
137             <xs:element name="allergenName" type="evidencedStringType" minOccurs="0"/>
138             <xs:element name="biotechName" type="evidencedStringType" minOccurs="0"/>
139             <xs:element name="cdAntigenName" type="evidencedStringType" minOccurs="0" maxOccurs="unbounded"/>
140             <xs:element name="innName" type="evidencedStringType" minOccurs="0" maxOccurs="unbounded"/>
141         </xs:sequence>
142     </xs:group>
143     <!-- Protein names definition ends -->
144
145     <!-- Gene names definition begins -->
146     <xs:complexType name="geneType">
147         <xs:annotation>
148             <xs:documentation>Describes a gene.
149             Equivalent to the flat file GN-line.</xs:documentation>
150         </xs:annotation>
151         <xs:sequence>
152             <xs:element name="name" type="geneNameType" maxOccurs="unbounded"/>
153         </xs:sequence>
154     </xs:complexType>
155     <xs:complexType name="geneNameType">
156         <xs:annotation>
157             <xs:documentation>Describes different types of gene designations.
158             Equivalent to the flat file GN-line.</xs:documentation>
159         </xs:annotation>
160         <xs:simpleContent>
161             <xs:extension base="xs:string">
162                 <xs:attribute name="evidence" type="intListType" use="optional"/>
163                 <xs:attribute name="type" use="required">
164                     <xs:simpleType>
165                         <xs:restriction base="xs:string">
166                             <xs:enumeration value="primary"/>
167                             <xs:enumeration value="synonym"/>
168                             <xs:enumeration value="ordered locus"/>
169                             <xs:enumeration value="ORF"/>
170                         </xs:restriction>
171                     </xs:simpleType>
172                 </xs:attribute>
173             </xs:extension>
174         </xs:simpleContent>
175     </xs:complexType>
176     <!-- Gene names definition ends -->
177
178     <!-- Organism definition begins -->
179     <xs:complexType name="organismType">
180         <xs:annotation>
181             <xs:documentation>Describes the source organism.</xs:documentation>
182         </xs:annotation>
183         <xs:sequence>
184             <xs:element name="name" type="organismNameType" maxOccurs="unbounded">
185                 <xs:annotation>
186                     <xs:documentation>Describes the names of the source organism.
187                     Equivalent to the flat file OS-line.</xs:documentation>
188                 </xs:annotation>
189             </xs:element>
190             <xs:element name="dbReference" type="dbReferenceType" maxOccurs="unbounded">
191                 <xs:annotation>
192                     <xs:documentation>Describes a cross-reference to the NCBI taxonomy database.
193                     Equivalent to the flat file OX-line.</xs:documentation>
194                 </xs:annotation>
195             </xs:element>
196             <xs:element name="lineage" minOccurs="0">
197                 <xs:annotation>
198                     <xs:documentation>Describes the lineage of the source organism.
199                     Equivalent to the flat file OC-line.</xs:documentation>
200                 </xs:annotation>
201                 <xs:complexType>
202                     <xs:sequence>
203                         <xs:element name="taxon" type="xs:string" maxOccurs="unbounded"/>
204                     </xs:sequence>
205                 </xs:complexType>
206             </xs:element>
207         </xs:sequence>
208         <xs:attribute name="evidence" type="intListType" use="optional"/>
209     </xs:complexType>
210     <xs:complexType name="organismNameType">
211         <xs:annotation>
212             <xs:documentation>Describes different types of source organism names.</xs:documentation>
213         </xs:annotation>
214         <xs:simpleContent>
215             <xs:extension base="xs:string">
216                 <xs:attribute name="type" use="required">
217                     <xs:simpleType>
218                         <xs:restriction base="xs:string">
219                             <xs:enumeration value="common"/>
220                             <xs:enumeration value="full"/>
221                             <xs:enumeration value="scientific"/>
222                             <xs:enumeration value="synonym"/>
223                             <xs:enumeration value="abbreviation"/>
224                         </xs:restriction>
225                     </xs:simpleType>
226                 </xs:attribute>
227             </xs:extension>
228         </xs:simpleContent>
229     </xs:complexType>
230     <!-- Organism definition ends -->
231
232     <!-- Gene location definition begins -->
233     <xs:complexType name="geneLocationType">
234         <xs:annotation>
235             <xs:documentation>Describes non-nuclear gene locations (organelles and plasmids).
236             Equivalent to the flat file OG-line.</xs:documentation>
237         </xs:annotation>
238         <xs:sequence>
239             <xs:element name="name" type="statusType" minOccurs="0" maxOccurs="unbounded"/>
240         </xs:sequence>
241         <xs:attribute name="type" use="required">
242             <xs:simpleType>
243                 <xs:restriction base="xs:string">
244                     <xs:enumeration value="apicoplast"/>
245                     <xs:enumeration value="chloroplast"/>
246                     <xs:enumeration value="organellar chromatophore"/>
247                     <xs:enumeration value="cyanelle"/>
248                     <xs:enumeration value="hydrogenosome"/>
249                     <xs:enumeration value="mitochondrion"/>
250                     <xs:enumeration value="non-photosynthetic plastid"/>
251                     <xs:enumeration value="nucleomorph"/>
252                     <xs:enumeration value="plasmid"/>
253                     <xs:enumeration value="plastid"/>
254                 </xs:restriction>
255             </xs:simpleType>
256         </xs:attribute>
257         <xs:attribute name="evidence" type="intListType" use="optional"/>
258     </xs:complexType>
259     <xs:complexType name="statusType">
260         <xs:annotation>
261             <xs:documentation>Indicates whether the name of a plasmid is known or unknown.</xs:documentation>
262         </xs:annotation>
263         <xs:simpleContent>
264             <xs:extension base="xs:string">
265                 <xs:attribute name="status" use="optional" default="known">
266                     <xs:simpleType>
267                         <xs:restriction base="xs:string">
268                             <xs:enumeration value="known"/>
269                             <xs:enumeration value="unknown"/>
270                         </xs:restriction>
271                     </xs:simpleType>
272                 </xs:attribute>
273             </xs:extension>
274         </xs:simpleContent>
275     </xs:complexType>
276     <!-- Gene location definition ends -->
277
278     <!-- Reference definition begins -->
279     <xs:complexType name="referenceType">
280         <xs:annotation>
281             <xs:documentation>Describes a citation and a summary of its content.
282             Equivalent to the flat file RN-, RP-, RC-, RX-, RG-, RA-, RT- and RL-lines.</xs:documentation>
283         </xs:annotation>
284         <xs:sequence>
285             <xs:element name="citation" type="citationType"/>
286             <xs:group ref="sptrCitationGroup"/>
287         </xs:sequence>
288         <xs:attribute name="evidence" type="intListType" use="optional"/>
289         <xs:attribute name="key" type="xs:string" use="required"/>
290     </xs:complexType>
291     <!-- Reference definition ends -->
292
293     <!-- Citation definition begins -->
294     <xs:complexType name="citationType">
295         <xs:annotation>
296             <xs:documentation>Describes different types of citations.
297             Equivalent to the flat file RX-, RG-, RA-, RT- and RL-lines.</xs:documentation>
298         </xs:annotation>
299         <xs:sequence>
300             <xs:element name="title" type="xs:string" minOccurs="0">
301                 <xs:annotation>
302                     <xs:documentation>Describes the title of a citation.
303                     Equivalent to the flat file RT-line.</xs:documentation>
304                 </xs:annotation>
305             </xs:element>
306             <xs:element name="editorList" type="nameListType" minOccurs="0">
307                 <xs:annotation>
308                     <xs:documentation>Describes the editors of a book (only used for books).
309                     Equivalent to part of the flat file RL-line of books.</xs:documentation>
310                 </xs:annotation>
311             </xs:element>
312             <xs:element name="authorList" type="nameListType" minOccurs="0">
313                 <xs:annotation>
314                     <xs:documentation>Describes the authors of a citation.
315                     Equivalent to the flat file RA-line.</xs:documentation>
316                 </xs:annotation>
317             </xs:element>
318             <xs:element name="locator" type="xs:string" minOccurs="0">
319                 <xs:annotation>
320                     <xs:documentation>Describes the location (URL) of an online journal article.
321                     No flat file equivalent.</xs:documentation>
322                 </xs:annotation>
323             </xs:element>
324             <xs:element name="dbReference" type="dbReferenceType" minOccurs="0" maxOccurs="unbounded">
325                 <xs:annotation>
326                     <xs:documentation>Describes cross-references to bibliography databases (MEDLINE, PubMed, AGRICOLA) or other online resources (DOI).
327                     Equivalent to the flat file RX-line.</xs:documentation>
328                 </xs:annotation>
329             </xs:element>
330         </xs:sequence>
331         <xs:attribute name="type" use="required">
332             <xs:annotation>
333                 <xs:documentation>Describes the type of a citation.</xs:documentation>
334             </xs:annotation>
335             <xs:simpleType>
336                 <xs:restriction base="xs:string">
337                     <xs:enumeration value="book"/>
338                     <xs:enumeration value="journal article"/>
339                     <xs:enumeration value="online journal article"/>
340                     <xs:enumeration value="patent"/>
341                     <xs:enumeration value="submission"/>
342                     <xs:enumeration value="thesis"/>
343                     <xs:enumeration value="unpublished observations"/>
344                 </xs:restriction>
345             </xs:simpleType>
346         </xs:attribute>
347         <xs:attribute name="date" use="optional">
348             <xs:simpleType>
349                 <xs:union memberTypes="xs:date xs:gYearMonth xs:gYear"/>
350             </xs:simpleType>
351         </xs:attribute>
352         <xs:attribute name="name" type="xs:string" use="optional">
353             <xs:annotation>
354                 <xs:documentation>Describes the name of an (online) journal or book.</xs:documentation>
355             </xs:annotation>
356         </xs:attribute>
357         <xs:attribute name="volume" type="xs:string" use="optional">
358             <xs:annotation>
359                 <xs:documentation>Describes the volume of a journal or book.</xs:documentation>
360             </xs:annotation>
361         </xs:attribute>
362         <xs:attribute name="first" type="xs:string" use="optional">
363             <xs:annotation>
364                 <xs:documentation>Describes the first page of an article.</xs:documentation>
365             </xs:annotation>
366         </xs:attribute>
367         <xs:attribute name="last" type="xs:string" use="optional">
368             <xs:annotation>
369                 <xs:documentation>Describes the last page of an article.</xs:documentation>
370             </xs:annotation>
371         </xs:attribute>
372         <xs:attribute name="publisher" type="xs:string" use="optional">
373             <xs:annotation>
374                 <xs:documentation>Describes the publisher of a book.</xs:documentation>
375             </xs:annotation>
376         </xs:attribute>
377         <xs:attribute name="city" type="xs:string" use="optional">
378             <xs:annotation>
379                 <xs:documentation>Describes the city where a book was published.</xs:documentation>
380             </xs:annotation>
381         </xs:attribute>
382         <xs:attribute name="db" type="xs:string" use="optional">
383             <xs:annotation>
384                 <xs:documentation>Describes the database name of submissions.</xs:documentation>
385             </xs:annotation>
386         </xs:attribute>
387         <xs:attribute name="number" type="xs:string" use="optional">
388             <xs:annotation>
389                 <xs:documentation>Describes a patent number.</xs:documentation>
390             </xs:annotation>
391         </xs:attribute>
392         <xs:attribute name="institute" type="xs:string" use="optional">
393             <xs:annotation>
394                 <xs:documentation>Describes the institute where a thesis was made.</xs:documentation>
395             </xs:annotation>
396         </xs:attribute>
397         <xs:attribute name="country" type="xs:string" use="optional">
398             <xs:annotation>
399                 <xs:documentation>Describes the country where a thesis was made.</xs:documentation>
400             </xs:annotation>
401         </xs:attribute>
402     </xs:complexType>
403     <xs:complexType name="consortiumType">
404         <xs:annotation>
405             <xs:documentation>Describes the authors of a citation when these are represented by a consortium.
406             Equivalent to the flat file RG-line.</xs:documentation>
407         </xs:annotation>
408         <xs:attribute name="name" type="xs:string" use="required"/>
409     </xs:complexType>
410     <xs:complexType name="personType">
411         <xs:attribute name="name" type="xs:string" use="required"/>
412     </xs:complexType>
413     <xs:complexType name="nameListType">
414         <xs:choice maxOccurs="unbounded">
415             <xs:element name="consortium" type="consortiumType"/>
416             <xs:element name="person" type="personType"/>
417         </xs:choice>
418     </xs:complexType>
419     <!-- Citation definition ends -->
420
421     <!-- Citation summary definition begins -->
422     <xs:group name="sptrCitationGroup">
423         <xs:annotation>
424             <xs:documentation>Groups a citation's scope and source descriptions.</xs:documentation>
425         </xs:annotation>
426         <xs:sequence>
427             <xs:element name="scope" type="xs:string" maxOccurs="unbounded">
428                 <xs:annotation>
429                     <xs:documentation>Describes the scope of a citation.
430                     Equivalent to the flat file RP-line.</xs:documentation>
431                 </xs:annotation>
432             </xs:element>
433             <xs:element name="source" type="sourceDataType" minOccurs="0"/>
434         </xs:sequence>
435     </xs:group>
436     <xs:complexType name="sourceDataType">
437         <xs:annotation>
438             <xs:documentation>Describes the source of the sequence according to the citation.
439             Equivalent to the flat file RC-line.</xs:documentation>
440         </xs:annotation>
441         <xs:choice maxOccurs="unbounded">
442             <xs:element name="strain">
443                 <xs:complexType>
444                     <xs:simpleContent>
445                         <xs:extension base="xs:string">
446                             <xs:attribute name="evidence" type="intListType" use="optional"/>
447                         </xs:extension>
448                     </xs:simpleContent>
449                 </xs:complexType>
450             </xs:element>
451             <xs:element name="plasmid">
452                 <xs:complexType>
453                     <xs:simpleContent>
454                         <xs:extension base="xs:string">
455                             <xs:attribute name="evidence" type="intListType" use="optional"/>
456                         </xs:extension>
457                     </xs:simpleContent>
458                 </xs:complexType>
459             </xs:element>
460             <xs:element name="transposon">
461                 <xs:complexType>
462                     <xs:simpleContent>
463                         <xs:extension base="xs:string">
464                             <xs:attribute name="evidence" type="intListType" use="optional"/>
465                         </xs:extension>
466                     </xs:simpleContent>
467                 </xs:complexType>
468             </xs:element>
469             <xs:element name="tissue">
470                 <xs:complexType>
471                     <xs:simpleContent>
472                         <xs:extension base="xs:string">
473                             <xs:attribute name="evidence" type="intListType" use="optional"/>
474                         </xs:extension>
475                     </xs:simpleContent>
476                 </xs:complexType>
477             </xs:element>
478         </xs:choice>
479     </xs:complexType>
480     <!-- Citation summary definition ends -->
481
482     <!-- Comment definition begins -->
483     <xs:complexType name="commentType">
484         <xs:annotation>
485             <xs:documentation>Describes different types of general annotations.
486             Equivalent to the flat file CC-line.</xs:documentation>
487         </xs:annotation>
488         <xs:sequence>
489             <xs:element name="molecule" type="moleculeType" minOccurs="0"/>
490             <xs:choice minOccurs="0">
491                 <xs:group ref="bpcCommentGroup"/>
492
493                 <xs:sequence>
494                     <xs:annotation>
495                         <xs:documentation>Used in 'catalytic activity' annotations.</xs:documentation>
496                     </xs:annotation>
497                     <xs:element name="reaction" type="reactionType"/>
498                     <xs:element name="physiologicalReaction" type="physiologicalReactionType" minOccurs="0" maxOccurs="2"/>
499                 </xs:sequence>
500
501                 <xs:sequence>
502                     <xs:annotation>
503                         <xs:documentation>Used in 'cofactor' annotations.</xs:documentation>
504                     </xs:annotation>
505                     <xs:element name="cofactor" type="cofactorType" maxOccurs="unbounded"/>
506                 </xs:sequence>
507
508                 <xs:sequence>
509                     <xs:annotation>
510                         <xs:documentation>Used in 'subcellular location' annotations.</xs:documentation>
511                     </xs:annotation>
512                     <xs:element name="subcellularLocation" type="subcellularLocationType" maxOccurs="unbounded"/>
513                 </xs:sequence>
514
515                 <xs:element name="conflict">
516                     <xs:annotation>
517                         <xs:documentation>Used in 'sequence caution' annotations.</xs:documentation>
518                     </xs:annotation>
519                     <xs:complexType>
520                         <xs:sequence>
521                             <xs:element name="sequence" minOccurs="0">
522                                 <xs:complexType>
523                                     <xs:attribute name="resource" use="required">
524                                         <xs:simpleType>
525                                             <xs:restriction base="xs:string">
526                                                 <xs:enumeration value="EMBL-CDS"/>
527                                                 <xs:enumeration value="EMBL"/>
528                                             </xs:restriction>
529                                         </xs:simpleType>
530                                     </xs:attribute>
531                                     <xs:attribute name="id" type="xs:string" use="required"/>
532                                     <xs:attribute name="version" type="xs:int" use="optional"/>
533                                 </xs:complexType>
534                             </xs:element>
535                         </xs:sequence>
536                         <xs:attribute name="type" use="required">
537                             <xs:simpleType>
538                                 <xs:restriction base="xs:string">
539                                     <xs:enumeration value="frameshift"/>
540                                     <xs:enumeration value="erroneous initiation"/>
541                                     <xs:enumeration value="erroneous termination"/>
542                                     <xs:enumeration value="erroneous gene model prediction"/>
543                                     <xs:enumeration value="erroneous translation"/>
544                                     <xs:enumeration value="miscellaneous discrepancy"/>
545                                 </xs:restriction>
546                             </xs:simpleType>
547                         </xs:attribute>
548                         <xs:attribute name="ref" type="xs:string" use="optional">
549                             <xs:annotation>
550                                 <xs:documentation>Refers to the 'key' attribute of a 'reference' element.</xs:documentation>
551                             </xs:annotation>
552                         </xs:attribute>
553                     </xs:complexType>
554                 </xs:element>
555
556                 <xs:sequence>
557                     <xs:element name="link" minOccurs="0" maxOccurs="unbounded">
558                         <xs:annotation>
559                             <xs:documentation>Used in 'online information' annotations.</xs:documentation>
560                         </xs:annotation>
561                         <xs:complexType>
562                             <xs:attribute name="uri" type="xs:anyURI" use="required"/>
563                         </xs:complexType>
564                     </xs:element>
565                 </xs:sequence>
566
567                 <xs:sequence>
568                     <xs:annotation>
569                         <xs:documentation>Used in 'alternative products' annotations.</xs:documentation>
570                     </xs:annotation>
571                     <xs:element name="event" type="eventType" maxOccurs="4"/>
572                     <xs:element name="isoform" type="isoformType" minOccurs="0" maxOccurs="unbounded"/>
573                 </xs:sequence>
574
575                 <xs:sequence>
576                     <xs:annotation>
577                         <xs:documentation>Used in 'interaction' annotations.</xs:documentation>
578                     </xs:annotation>
579                     <xs:element name="interactant" type="interactantType" minOccurs="2" maxOccurs="2"/>
580                     <xs:element name="organismsDiffer" type="xs:boolean" default="false"/>
581                     <xs:element name="experiments" type="xs:int"/>
582                 </xs:sequence>
583                 
584                 <xs:element name="disease">
585                     <xs:annotation>
586                         <xs:documentation>Used in 'disease' annotations.</xs:documentation>
587                     </xs:annotation>
588                     <xs:complexType>
589                         <xs:sequence>
590                             <xs:element name="name" type="xs:string"/>
591                             <xs:element name="acronym" type="xs:string"/>
592                             <xs:element name="description" type="xs:string"/>
593                             <xs:element name="dbReference" type="dbReferenceType"/>
594                         </xs:sequence>
595                         <xs:attribute name="id" type="xs:string" use="required"/>
596                     </xs:complexType>
597                 </xs:element>
598
599             </xs:choice>
600
601             <xs:element name="location" type="locationType" minOccurs="0" maxOccurs="unbounded">
602                 <xs:annotation>
603                     <xs:documentation>Used in 'mass spectrometry' and 'sequence caution' annotations.</xs:documentation>
604                 </xs:annotation>
605             </xs:element>
606
607             <xs:element name="text" type="evidencedStringType" minOccurs="0" maxOccurs="unbounded"/>
608
609         </xs:sequence>
610
611         <xs:attribute name="type" use="required">
612             <xs:annotation>
613                 <xs:documentation>Describes the type of a general annotation.
614                 Equivalent to the flat file CC comment topics (except for "DATABASE" which is translated to "online information").</xs:documentation>
615             </xs:annotation>
616             <xs:simpleType>
617                 <xs:restriction base="xs:string">
618                     <xs:enumeration value="allergen"/>
619                     <xs:enumeration value="alternative products"/>
620                     <xs:enumeration value="biotechnology"/>
621                     <xs:enumeration value="biophysicochemical properties"/>
622                     <xs:enumeration value="catalytic activity"/>
623                     <xs:enumeration value="caution"/>
624                     <xs:enumeration value="cofactor"/>
625                     <xs:enumeration value="developmental stage"/>
626                     <xs:enumeration value="disease"/>
627                     <xs:enumeration value="domain"/>
628                     <xs:enumeration value="disruption phenotype"/>
629                     <xs:enumeration value="activity regulation"/>
630                     <xs:enumeration value="function"/>
631                     <xs:enumeration value="induction"/>
632                     <xs:enumeration value="miscellaneous"/>
633                     <xs:enumeration value="pathway"/>
634                     <xs:enumeration value="pharmaceutical"/>
635                     <xs:enumeration value="polymorphism"/>
636                     <xs:enumeration value="PTM"/>
637                     <xs:enumeration value="RNA editing"/>
638                     <xs:enumeration value="similarity"/>
639                     <xs:enumeration value="subcellular location"/>
640                     <xs:enumeration value="sequence caution"/>
641                     <xs:enumeration value="subunit"/>
642                     <xs:enumeration value="tissue specificity"/>
643                     <xs:enumeration value="toxic dose"/>
644                     <xs:enumeration value="online information"/>
645                     <xs:enumeration value="mass spectrometry"/>
646                     <xs:enumeration value="interaction"/>
647                 </xs:restriction>
648             </xs:simpleType>
649         </xs:attribute>
650
651         <xs:attribute name="locationType" type="xs:string" use="optional">
652             <xs:annotation>
653                 <xs:documentation>Describes the type of sequence location in 'RNA editing' annotations. Common values are "Not_applicable" and "Undetermined".</xs:documentation>
654             </xs:annotation>
655         </xs:attribute>
656
657         <xs:attribute name="name" type="xs:string" use="optional">
658             <xs:annotation>
659                 <xs:documentation>Describes an optional name for an 'online information'.</xs:documentation>
660             </xs:annotation>
661         </xs:attribute>
662
663         <xs:attribute name="mass" type="xs:float" use="optional">
664             <xs:annotation>
665                 <xs:documentation>Describes the molecular mass in 'mass spectrometry' annotations.</xs:documentation>
666             </xs:annotation>
667         </xs:attribute>
668         <xs:attribute name="error" type="xs:string" use="optional">
669             <xs:annotation>
670                 <xs:documentation>Describes the error of the mass measurement in 'mass spectrometry' annotations.</xs:documentation>
671             </xs:annotation>
672         </xs:attribute>
673         <xs:attribute name="method" type="xs:string" use="optional">
674             <xs:annotation>
675                 <xs:documentation>Describes the experimental method in 'mass spectrometry' annotations.</xs:documentation>
676             </xs:annotation>
677         </xs:attribute>
678
679         <xs:attribute name="evidence" type="intListType" use="optional"/>
680     </xs:complexType>
681
682     <xs:group name="bpcCommentGroup">
683         <xs:annotation>
684             <xs:documentation>Describes different types of biophysicochemical properties.</xs:documentation>
685         </xs:annotation>
686         <xs:sequence>
687             <xs:element name="absorption" minOccurs="0">
688                 <xs:complexType>
689                     <xs:sequence>
690                         <xs:element name="max" type="evidencedStringType" minOccurs="0"/>
691                         <xs:element name="text" type="evidencedStringType" minOccurs="0" maxOccurs="unbounded"/>
692                     </xs:sequence>
693                 </xs:complexType>
694             </xs:element>
695             <xs:element name="kinetics" minOccurs="0">
696                 <xs:complexType>
697                     <xs:sequence>
698                         <xs:element name="KM" type="evidencedStringType" minOccurs="0" maxOccurs="unbounded"/>
699                         <xs:element name="Vmax" type="evidencedStringType" minOccurs="0" maxOccurs="unbounded"/>
700                         <xs:element name="text" type="evidencedStringType" minOccurs="0" maxOccurs="unbounded"/>
701                     </xs:sequence>
702                 </xs:complexType>
703             </xs:element>
704             <xs:element name="phDependence" minOccurs="0">
705                 <xs:complexType>
706                     <xs:sequence>
707                         <xs:element name="text" type="evidencedStringType" maxOccurs="unbounded"/>
708                     </xs:sequence>
709                 </xs:complexType>
710             </xs:element>
711             <xs:element name="redoxPotential" minOccurs="0">
712                 <xs:complexType>
713                     <xs:sequence>
714                         <xs:element name="text" type="evidencedStringType" maxOccurs="unbounded"/>
715                     </xs:sequence>
716                 </xs:complexType>
717             </xs:element>
718             <xs:element name="temperatureDependence" minOccurs="0">
719                 <xs:complexType>
720                     <xs:sequence>
721                         <xs:element name="text" type="evidencedStringType" maxOccurs="unbounded"/>
722                     </xs:sequence>
723                 </xs:complexType>
724             </xs:element>
725         </xs:sequence>
726     </xs:group>
727
728     <xs:complexType name="reactionType">
729         <xs:annotation>
730             <xs:documentation>Describes a chemical reaction.</xs:documentation>
731         </xs:annotation>
732         <xs:sequence>
733             <xs:element name="text" type="xs:string"/>
734             <xs:element name="dbReference" type="dbReferenceType" minOccurs="1" maxOccurs="unbounded"/>
735         </xs:sequence>
736         <xs:attribute name="evidence" type="intListType" use="optional"/>
737     </xs:complexType>
738
739     <xs:complexType name="physiologicalReactionType">
740         <xs:annotation>
741             <xs:documentation>Describes a physiological reaction.</xs:documentation>
742         </xs:annotation>
743         <xs:sequence>
744             <xs:element name="dbReference" type="dbReferenceType"/>
745         </xs:sequence>
746         <xs:attribute name="direction" use="required">
747             <xs:simpleType>
748                 <xs:restriction base="xs:string">
749                     <xs:enumeration value="left-to-right"/>
750                     <xs:enumeration value="right-to-left"/>
751                 </xs:restriction>
752             </xs:simpleType>
753         </xs:attribute>
754         <xs:attribute name="evidence" type="intListType" use="optional"/>
755     </xs:complexType>
756     
757     <xs:complexType name="cofactorType">
758         <xs:annotation>
759             <xs:documentation>Describes a cofactor.</xs:documentation>
760         </xs:annotation>
761         <xs:sequence>
762             <xs:element name="name" type="xs:string"/>
763             <xs:element name="dbReference" type="dbReferenceType"/>
764         </xs:sequence>
765         <xs:attribute name="evidence" type="intListType" use="optional"/>
766     </xs:complexType>
767
768     <xs:complexType name="subcellularLocationType">
769         <xs:annotation>
770             <xs:documentation>Describes the subcellular location and optionally the topology and orientation of a molecule.</xs:documentation>
771         </xs:annotation>
772         <xs:sequence>
773             <xs:element name="location" type="evidencedStringType" maxOccurs="unbounded"/>
774             <xs:element name="topology" type="evidencedStringType" minOccurs="0" maxOccurs="unbounded"/>
775             <xs:element name="orientation" type="evidencedStringType" minOccurs="0" maxOccurs="unbounded"/>
776         </xs:sequence>
777     </xs:complexType>
778
779     <xs:complexType name="eventType">
780         <xs:annotation>
781             <xs:documentation>Describes the type of events that cause alternative products.</xs:documentation>
782         </xs:annotation>
783         <xs:attribute name="type" use="required">
784             <xs:simpleType>
785                 <xs:restriction base="xs:string">
786                     <xs:enumeration value="alternative splicing"/>
787                     <xs:enumeration value="alternative initiation"/>
788                     <xs:enumeration value="alternative promoter"/>
789                     <xs:enumeration value="ribosomal frameshifting"/>
790                 </xs:restriction>
791             </xs:simpleType>
792         </xs:attribute>
793     </xs:complexType>
794
795     <xs:complexType name="isoformType">
796         <xs:annotation>
797             <xs:documentation>Describes isoforms in 'alternative products' annotations.</xs:documentation>
798         </xs:annotation>
799         <xs:sequence>
800             <xs:element name="id" type="xs:string" maxOccurs="unbounded"/>
801             <xs:element name="name" maxOccurs="unbounded">
802                 <xs:complexType>
803                     <xs:simpleContent>
804                         <xs:extension base="xs:string">
805                             <xs:attribute name="evidence" type="intListType" use="optional"/>
806                         </xs:extension>
807                     </xs:simpleContent>
808                 </xs:complexType>
809             </xs:element>
810             <xs:element name="sequence">
811                 <xs:complexType>
812                     <xs:attribute name="type" use="required">
813                         <xs:simpleType>
814                             <xs:restriction base="xs:string">
815                                 <xs:enumeration value="not described"/>
816                                 <xs:enumeration value="described"/>
817                                 <xs:enumeration value="displayed"/>
818                                 <xs:enumeration value="external"/>
819                             </xs:restriction>
820                         </xs:simpleType>
821                     </xs:attribute>
822                     <xs:attribute name="ref" type="xs:string" use="optional"/>
823                 </xs:complexType>
824             </xs:element>
825             <xs:element name="text" type="evidencedStringType" minOccurs="0" maxOccurs="unbounded"/>
826         </xs:sequence>
827     </xs:complexType>
828
829     <xs:group name="interactantGroup">
830         <xs:sequence>
831             <xs:element name="id" type="xs:string"/>
832             <xs:element name="label" type="xs:string" minOccurs="0"/>
833         </xs:sequence>
834     </xs:group>
835     <xs:complexType name="interactantType">
836         <xs:group ref="interactantGroup" minOccurs="0"/>
837         <xs:attribute name="intactId" type="xs:string" use="required"/>
838     </xs:complexType>
839     <!-- Comment definition ends -->
840
841     <!-- Database cross-reference definition begins -->
842     <xs:complexType name="dbReferenceType">
843         <xs:annotation>
844             <xs:documentation>Describes a database cross-reference.
845             Equivalent to the flat file DR-line.
846             </xs:documentation>
847         </xs:annotation>
848         <xs:sequence>
849             <xs:element name="molecule" type="moleculeType" minOccurs="0"/>
850             <xs:element name="property" type="propertyType" minOccurs="0" maxOccurs="unbounded"/>
851         </xs:sequence>
852         <xs:attribute name="type" type="xs:string" use="required">
853             <xs:annotation>
854                 <xs:documentation>Describes the name of the database.</xs:documentation>
855             </xs:annotation>
856         </xs:attribute>
857         <xs:attribute name="id" type="xs:string" use="required">
858             <xs:annotation>
859                 <xs:documentation>Describes a unique database identifier.</xs:documentation>
860             </xs:annotation>
861         </xs:attribute>
862         <xs:attribute name="evidence" type="intListType" use="optional"/>
863         <!-- xs:attribute name="key" type="xs:string" use="optional"/ -->
864     </xs:complexType>
865
866     <xs:complexType name="propertyType">
867         <xs:attribute name="type" type="xs:string" use="required"/>
868         <xs:attribute name="value" type="xs:string" use="required"/>
869     </xs:complexType>
870     <!-- Database cross-reference definition ends -->
871
872     <!-- Protein existence definition begins -->
873     <xs:complexType name="proteinExistenceType">
874         <xs:annotation>
875             <xs:documentation>Describes the evidence for the protein's existence.
876             Equivalent to the flat file PE-line.</xs:documentation>
877         </xs:annotation>
878         <xs:attribute name="type" use="required">
879             <xs:simpleType>
880                 <xs:restriction base="xs:string">
881                     <xs:enumeration value="evidence at protein level"/>
882                     <xs:enumeration value="evidence at transcript level"/>
883                     <xs:enumeration value="inferred from homology"/>
884                     <xs:enumeration value="predicted"/>
885                     <xs:enumeration value="uncertain"/>
886                 </xs:restriction>
887             </xs:simpleType>
888         </xs:attribute>
889     </xs:complexType>
890     <!-- Protein existence definition ends -->
891
892     <!-- Keyword definition begins -->
893     <xs:complexType name="keywordType">
894         <xs:simpleContent>
895             <xs:extension base="xs:string">
896                 <xs:attribute name="evidence" type="intListType" use="optional"/>
897                 <xs:attribute name="id" type="xs:string" use="required"/>
898             </xs:extension>
899         </xs:simpleContent>
900     </xs:complexType>
901     <!-- Keyword definition ends -->
902
903     <!-- Feature definition begins -->
904     <xs:complexType name="featureType">
905         <xs:annotation>
906             <xs:documentation>Describes different types of sequence annotations.
907             Equivalent to the flat file FT-line.</xs:documentation>
908         </xs:annotation>
909         <xs:sequence>
910             <xs:element name="original" type="xs:string" minOccurs="0">
911                <xs:annotation>
912                     <xs:documentation>Describes the original sequence in annotations that describe natural or artifical sequence variations.</xs:documentation>
913                 </xs:annotation>
914             </xs:element>
915             <xs:element name="variation" type="xs:string" minOccurs="0" maxOccurs="unbounded">
916               <xs:annotation>
917                     <xs:documentation>Describes the variant sequence in annotations that describe natural or artifical sequence variations.</xs:documentation>
918                 </xs:annotation>
919             </xs:element>
920             <xs:element name="location" type="locationType">
921                 <xs:annotation>
922                     <xs:documentation>Describes the sequence coordinates of the annotation.</xs:documentation>
923                 </xs:annotation>
924             </xs:element>
925         </xs:sequence>
926         <xs:attribute name="type" use="required">
927             <xs:annotation>
928                 <xs:documentation>Describes the type of a sequence annotation.
929                 Equivalent to the flat file FT feature keys, but using full terms instead of acronyms.</xs:documentation>
930             </xs:annotation>
931             <xs:simpleType>
932                 <xs:restriction base="xs:string">
933                     <xs:enumeration value="active site"/>
934                     <xs:enumeration value="binding site"/>
935                     <xs:enumeration value="calcium-binding region"/>
936                     <xs:enumeration value="chain"/>
937                     <xs:enumeration value="coiled-coil region"/>
938                     <xs:enumeration value="compositionally biased region"/>
939                     <xs:enumeration value="cross-link"/>
940                     <xs:enumeration value="disulfide bond"/>
941                     <xs:enumeration value="DNA-binding region"/>
942                     <xs:enumeration value="domain"/>
943                     <xs:enumeration value="glycosylation site"/>
944                     <xs:enumeration value="helix"/>
945                     <xs:enumeration value="initiator methionine"/>
946                     <xs:enumeration value="lipid moiety-binding region"/>
947                     <xs:enumeration value="metal ion-binding site"/>
948                     <xs:enumeration value="modified residue"/>
949                     <xs:enumeration value="mutagenesis site"/>
950                     <xs:enumeration value="non-consecutive residues"/>
951                     <xs:enumeration value="non-terminal residue"/>
952                     <xs:enumeration value="nucleotide phosphate-binding region"/>
953                     <xs:enumeration value="peptide"/>
954                     <xs:enumeration value="propeptide"/>
955                     <xs:enumeration value="region of interest"/>
956                     <xs:enumeration value="repeat"/>
957                     <xs:enumeration value="non-standard amino acid"/>
958                     <xs:enumeration value="sequence conflict"/>
959                     <xs:enumeration value="sequence variant"/>
960                     <xs:enumeration value="short sequence motif"/>
961                     <xs:enumeration value="signal peptide"/>
962                     <xs:enumeration value="site"/>
963                     <xs:enumeration value="splice variant"/>
964                     <xs:enumeration value="strand"/>
965                     <xs:enumeration value="topological domain"/>
966                     <xs:enumeration value="transit peptide"/>
967                     <xs:enumeration value="transmembrane region"/>
968                     <xs:enumeration value="turn"/>
969                     <xs:enumeration value="unsure residue"/>
970                     <xs:enumeration value="zinc finger region"/>
971                     <xs:enumeration value="intramembrane region"/>
972                 </xs:restriction>
973             </xs:simpleType>
974         </xs:attribute>
975         <xs:attribute name="status" use="optional">
976             <xs:simpleType>
977                 <xs:restriction base="xs:string">
978                     <xs:enumeration value="by similarity"/>
979                     <xs:enumeration value="probable"/>
980                     <xs:enumeration value="potential"/>
981                 </xs:restriction>
982             </xs:simpleType>
983         </xs:attribute>
984         <xs:attribute name="id" type="xs:string" use="optional"/>
985         <xs:attribute name="description" type="xs:string" use="optional"/>
986         <xs:attribute name="evidence" type="intListType" use="optional"/>
987         <xs:attribute name="ref" type="xs:string" use="optional"/>
988     </xs:complexType>
989
990     <xs:complexType name="locationType">
991         <xs:annotation>
992             <xs:documentation>Describes a sequence location as either a range with a begin and end or as a position. The 'sequence' attribute is only used when the location is not on the canonical sequence displayed in the current entry.</xs:documentation>
993         </xs:annotation>
994         <xs:choice>
995             <xs:sequence>
996                 <xs:element name="begin" type="positionType"/>
997                 <xs:element name="end" type="positionType"/>
998             </xs:sequence>
999             <xs:element name="position" type="positionType"/>
1000         </xs:choice>
1001         <xs:attribute name="sequence" type="xs:string" use="optional"/>
1002     </xs:complexType>
1003
1004     <xs:complexType name="positionType">
1005         <xs:attribute name="position" type="xs:unsignedLong" use="optional"/>
1006         <xs:attribute name="status" use="optional" default="certain">
1007             <xs:simpleType>
1008                 <xs:restriction base="xs:string">
1009                     <xs:enumeration value="certain"/>
1010                     <xs:enumeration value="uncertain"/>
1011                     <xs:enumeration value="less than"/>
1012                     <xs:enumeration value="greater than"/>
1013                     <xs:enumeration value="unknown"/>
1014                 </xs:restriction>
1015             </xs:simpleType>
1016         </xs:attribute>
1017         <xs:attribute name="evidence" type="intListType" use="optional"/>
1018     </xs:complexType>
1019     <!-- Feature definition ends -->
1020
1021     <!-- Sequence definition begins -->
1022     <xs:complexType name="sequenceType">
1023         <xs:simpleContent>
1024             <xs:extension base="xs:string">
1025                 <xs:attribute name="length" type="xs:int" use="required"/>
1026                 <xs:attribute name="mass" type="xs:int" use="required"/>
1027                 <xs:attribute name="checksum" type="xs:string" use="required"/>
1028                 <xs:attribute name="modified" type="xs:date" use="required"/>
1029                 <xs:attribute name="version" type="xs:int" use="required"/>
1030                 <xs:attribute name="precursor" type="xs:boolean" use="optional"/>
1031                 <xs:attribute name="fragment" use="optional">
1032                     <xs:simpleType>
1033                         <xs:restriction base="xs:string">
1034                             <xs:enumeration value="single"/>
1035                             <xs:enumeration value="multiple"/>
1036                         </xs:restriction>
1037                     </xs:simpleType>
1038                 </xs:attribute>
1039             </xs:extension>
1040         </xs:simpleContent>
1041     </xs:complexType>
1042     <!-- Sequence definition ends -->
1043
1044     <!-- Molecule definition begins -->
1045     <xs:complexType name="moleculeType">
1046         <xs:annotation>
1047             <xs:documentation>Describes a molecule by name or unique identifier.</xs:documentation>
1048         </xs:annotation>
1049         <xs:simpleContent>
1050             <xs:extension base="xs:string">
1051                 <xs:attribute name="id" type="xs:string" use="optional"/>
1052             </xs:extension>
1053         </xs:simpleContent>
1054     </xs:complexType>
1055     <!-- Molecule definition ends -->
1056
1057     <!-- Evidence definition begins -->
1058     <xs:complexType name="evidenceType">
1059         <xs:annotation>
1060             <xs:documentation>Describes the evidence for an annotation.
1061             No flat file equivalent.</xs:documentation>
1062         </xs:annotation>
1063         <xs:sequence>
1064             <xs:element name="source" type="sourceType" minOccurs="0"/>
1065             <xs:element name="importedFrom" type="importedFromType" minOccurs="0"/>
1066         </xs:sequence>
1067         <xs:attribute name="type" type="xs:string" use="required">
1068             <xs:annotation>
1069                 <xs:documentation>Describes the type of an evidence using the Evidence Code Ontology (http://www.obofoundry.org/cgi-bin/detail.cgi?id=evidence_code).</xs:documentation>
1070             </xs:annotation>
1071         </xs:attribute>
1072         <xs:attribute name="key" type="xs:integer" use="required">
1073             <xs:annotation>
1074                 <xs:documentation>A unique key to link annotations (via 'evidence' attributes) to evidences.</xs:documentation>
1075             </xs:annotation>
1076         </xs:attribute>
1077     </xs:complexType>
1078     <xs:complexType name="sourceType">
1079         <xs:annotation>
1080             <xs:documentation>Describes the source of the data using a database cross-reference (or a 'ref' attribute when the source cannot be found in a public data source, such as PubMed, and is cited only within the UniProtKB entry).</xs:documentation>
1081         </xs:annotation>
1082         <xs:sequence>
1083             <xs:element name="dbReference" type="dbReferenceType" minOccurs="0"/>
1084         </xs:sequence>
1085         <xs:attribute name="ref" type="xs:integer" use="optional"/>
1086     </xs:complexType>
1087     <xs:complexType name="importedFromType">
1088         <xs:annotation>
1089             <xs:documentation>Describes the source of the evidence, when it is not assigned by UniProt, but imported from an external database.</xs:documentation>
1090         </xs:annotation>
1091         <xs:sequence>
1092             <xs:element name="dbReference" type="dbReferenceType"/>
1093         </xs:sequence>
1094     </xs:complexType>
1095     <!-- Evidence definition ends -->
1096
1097     <xs:complexType name="evidencedStringType">
1098         <xs:simpleContent>
1099             <xs:extension base="xs:string">
1100                 <xs:attribute name="evidence" type="intListType" use="optional"/>
1101                 <xs:attribute name="status" use="optional">
1102                     <xs:simpleType>
1103                         <xs:restriction base="xs:string">
1104                             <xs:enumeration value="by similarity"/>
1105                             <xs:enumeration value="probable"/>
1106                             <xs:enumeration value="potential"/>
1107                         </xs:restriction>
1108                     </xs:simpleType>
1109                 </xs:attribute>
1110             </xs:extension>
1111         </xs:simpleContent>
1112     </xs:complexType>
1113
1114     <xs:simpleType name="intListType">
1115        <xs:list itemType="xs:int"/>
1116    </xs:simpleType>
1117 </xs:schema>