Merge branch 'develop' into releases/Release_2_11_2_Branch
[jalview.git] / schemas / embl.xsd
1 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2 <!-- 
3     Retrieved for Jalview 14-Sep-2018 from ftp://ftp.sra.ebi.ac.uk/meta/xsd/sra_1_5/ENA.embl.xsd 
4         Modified to match ftp://ftp.sra.ebi.ac.uk/meta/xsd/sra_1_5/ENA.root.xsd with only ENA.embl.xsd included 
5         root element "ROOT" contains a <choice> of "entry" (single accession) or "entrySet" (one or more accessions) 
6         Java binding classes are generated by 
7                 xjc schemas/embl.xsd -b schemas/embl_bindings.xml -d src -p jalview.xml.binding.embl 
8 -->
9 <xs:schema xmlns:ebi="http://www.ebi.ac.uk/embl/schema"
10         xmlns:xs="http://www.w3.org/2001/XMLSchema"
11         attributeFormDefault="unqualified" elementFormDefault="qualified"
12         version="1.1">
13         <xs:complexType name="XrefType">
14                 <xs:annotation>
15                         <xs:documentation>Database cross-reference.</xs:documentation>
16                 </xs:annotation>
17                 <xs:attribute name="db" type="xs:string" use="required" />
18                 <xs:attribute name="id" type="xs:string" use="required" />
19                 <xs:attribute name="secondaryId" type="xs:string"
20                         use="optional" />
21         </xs:complexType>
22         <xs:complexType name="EntrySetType">
23                 <xs:sequence minOccurs="1" maxOccurs="unbounded">
24                         <xs:element name="entry" type="EntryType" />
25                 </xs:sequence>
26         </xs:complexType>
27         <xs:complexType name="EntryType">
28                 <xs:sequence>
29                         <xs:element maxOccurs="unbounded" minOccurs="0"
30                                 name="secondaryAccession" type="xs:string" />
31                         <xs:element maxOccurs="unbounded" minOccurs="0"
32                                 name="projectAccession" type="xs:string" />
33                         <xs:element maxOccurs="1" minOccurs="1" name="description"
34                                 type="xs:string" />
35                         <xs:element maxOccurs="1" minOccurs="0" name="comment"
36                                 type="xs:string" />
37                         <xs:element maxOccurs="unbounded" minOccurs="0"
38                                 name="keyword" type="xs:string" />
39                         <xs:element maxOccurs="unbounded" minOccurs="0"
40                                 name="reference">
41                                 <xs:annotation>
42                                         <xs:documentation>Not supported for EMBL-CDS.</xs:documentation>
43                                 </xs:annotation>
44                                 <xs:complexType>
45                                         <xs:sequence>
46                                                 <xs:element maxOccurs="1" minOccurs="0" name="title"
47                                                         type="xs:string" />
48                                                 <xs:element maxOccurs="unbounded" minOccurs="0"
49                                                         name="author" type="xs:string" />
50                                                 <xs:element maxOccurs="unbounded" minOccurs="0"
51                                                         name="applicant" type="xs:string">
52                                                         <xs:annotation>
53                                                                 <xs:documentation>Patent applicant.</xs:documentation>
54                                                         </xs:annotation>
55                                                 </xs:element>
56                                                 <xs:element maxOccurs="1" minOccurs="0"
57                                                         name="consortium" type="xs:string" />
58                                                 <xs:element maxOccurs="1" minOccurs="0"
59                                                         name="submissionDate" type="xs:date">
60                                                         <xs:annotation>
61                                                                 <xs:documentation>The submission date (used only for submission
62                                                                         references).</xs:documentation>
63                                                         </xs:annotation>
64                                                 </xs:element>
65                                                 <xs:element maxOccurs="1" minOccurs="0" name="journal"
66                                                         type="xs:string">
67                                                         <xs:annotation>
68                                                                 <xs:documentation>The journal name (used only for article
69                                                                         references).</xs:documentation>
70                                                         </xs:annotation>
71                                                 </xs:element>
72                                                 <xs:element maxOccurs="1" minOccurs="0" name="year"
73                                                         type="xs:string">
74                                                         <xs:annotation>
75                                                                 <xs:documentation>The publication year (used only for article
76                                                                         references).</xs:documentation>
77                                                         </xs:annotation>
78                                                 </xs:element>
79                                                 <xs:element maxOccurs="1" minOccurs="0" name="volume"
80                                                         type="xs:string">
81                                                         <xs:annotation>
82                                                                 <xs:documentation>The volume number (used only for article
83                                                                         references).</xs:documentation>
84                                                         </xs:annotation>
85                                                 </xs:element>
86                                                 <xs:element maxOccurs="1" minOccurs="0" name="issue"
87                                                         type="xs:string">
88                                                         <xs:annotation>
89                                                                 <xs:documentation>The issue number (used only for article
90                                                                         references).</xs:documentation>
91                                                         </xs:annotation>
92                                                 </xs:element>
93                                                 <xs:element maxOccurs="1" minOccurs="0"
94                                                         name="firstPage" type="xs:string">
95                                                         <xs:annotation>
96                                                                 <xs:documentation>The first page (used only for article
97                                                                         references).</xs:documentation>
98                                                         </xs:annotation>
99                                                 </xs:element>
100                                                 <xs:element maxOccurs="1" minOccurs="0" name="lastPage"
101                                                         type="xs:string">
102                                                         <xs:annotation>
103                                                                 <xs:documentation>The last page (used only for article
104                                                                         references).</xs:documentation>
105                                                         </xs:annotation>
106                                                 </xs:element>
107                                                 <xs:element maxOccurs="1" minOccurs="0" name="comment"
108                                                         type="xs:string" />
109                                                 <xs:element maxOccurs="1" minOccurs="0"
110                                                         name="referenceLocation" type="xs:string" />
111                                                 <xs:element maxOccurs="unbounded" minOccurs="0"
112                                                         name="xref" type="XrefType" />
113                                         </xs:sequence>
114                                         <xs:attribute name="type" use="required">
115                                                 <xs:simpleType>
116                                                         <xs:restriction base="xs:string">
117                                                                 <xs:enumeration value="submission" />
118                                                                 <xs:enumeration value="book" />
119                                                                 <xs:enumeration value="article" />
120                                                                 <xs:enumeration value="patent" />
121                                                                 <xs:enumeration value="thesis" />
122                                                                 <xs:enumeration value="unpublished" />
123                                                         </xs:restriction>
124                                                 </xs:simpleType>
125                                         </xs:attribute>
126                                         <xs:attribute name="number" type="xs:integer"
127                                                 use="required" />
128                                         <xs:attribute name="location" type="xs:string" />
129                                 </xs:complexType>
130                         </xs:element>
131                         <xs:element maxOccurs="unbounded" minOccurs="0"
132                                 name="xref" type="XrefType" />
133                         <xs:element maxOccurs="unbounded" minOccurs="0"
134                                 name="feature">
135                                 <xs:annotation>
136                                         <xs:documentation>Sequence feature.</xs:documentation>
137                                 </xs:annotation>
138                                 <xs:complexType>
139                                         <xs:sequence>
140                                                 <xs:element maxOccurs="1" minOccurs="0" name="taxon">
141                                                         <xs:complexType>
142                                                                 <xs:sequence>
143                                                                         <xs:element maxOccurs="1" minOccurs="0"
144                                                                                 name="lineage">
145                                                                                 <xs:complexType>
146                                                                                         <xs:sequence>
147                                                                                                 <xs:element maxOccurs="unbounded" minOccurs="1"
148                                                                                                         name="taxon">
149                                                                                                         <xs:complexType>
150                                                                                                                 <xs:attribute name="scientificName"
151                                                                                                                         type="xs:string" use="required" />
152                                                                                                         </xs:complexType>
153                                                                                                 </xs:element>
154                                                                                         </xs:sequence>
155                                                                                 </xs:complexType>
156                                                                         </xs:element>
157                                                                 </xs:sequence>
158                                                                 <xs:attribute name="scientificName"
159                                                                         type="xs:string" use="required" />
160                                                                 <xs:attribute name="commonName" type="xs:string"
161                                                                         use="optional" />
162                                                                 <xs:attribute name="taxId" type="xs:integer"
163                                                                         use="optional" />
164                                                         </xs:complexType>
165                                                 </xs:element>
166                                                 <xs:element maxOccurs="unbounded" minOccurs="0"
167                                                         name="xref" type="XrefType" />
168                                                 <xs:element maxOccurs="unbounded" minOccurs="0"
169                                                         name="qualifier">
170                                                         <xs:annotation>
171                                                                 <xs:documentation>Sequence feature qualifier.</xs:documentation>
172                                                         </xs:annotation>
173                                                         <xs:complexType>
174                                                                 <xs:sequence>
175                                                                         <xs:element maxOccurs="1" minOccurs="0" name="value"
176                                                                                 type="xs:string" />
177                                                                 </xs:sequence>
178                                                                 <xs:attribute name="name" type="xs:string"
179                                                                         use="required" />
180                                                         </xs:complexType>
181                                                 </xs:element>
182                                         </xs:sequence>
183                                         <xs:attribute name="name" type="xs:string"
184                                                 use="required" />
185                                         <xs:attribute name="location" type="xs:string"
186                                                 use="required" />
187                                 </xs:complexType>
188                         </xs:element>
189                         <xs:element maxOccurs="1" minOccurs="0" name="assembly">
190                                 <xs:complexType>
191                                         <xs:sequence>
192                                                 <xs:element maxOccurs="unbounded" minOccurs="1"
193                                                         name="range">
194                                                         <xs:complexType>
195                                                                 <xs:attribute name="begin" type="xs:integer"
196                                                                         use="required" />
197                                                                 <xs:attribute name="end" type="xs:integer"
198                                                                         use="required" />
199                                                                 <xs:attribute name="primaryBegin" type="xs:integer"
200                                                                         use="optional" />
201                                                                 <xs:attribute name="primaryEnd" type="xs:integer"
202                                                                         use="optional" />
203                                                                 <xs:attribute name="accession" type="xs:string"
204                                                                         use="required" />
205                                                                 <xs:attribute name="version" type="xs:integer"
206                                                                         use="required" />
207                                                                 <xs:attribute default="false" name="complement"
208                                                                         type="xs:boolean" use="optional" />
209                                                         </xs:complexType>
210                                                 </xs:element>
211                                         </xs:sequence>
212                                 </xs:complexType>
213                         </xs:element>
214                         <xs:element maxOccurs="1" minOccurs="0" name="contig">
215                                 <xs:complexType>
216                                         <xs:sequence>
217                                                 <xs:choice maxOccurs="unbounded" minOccurs="0">
218                                                         <xs:element maxOccurs="1" minOccurs="1" name="range">
219                                                                 <xs:complexType>
220                                                                         <xs:attribute name="begin" type="xs:integer"
221                                                                                 use="required" />
222                                                                         <xs:attribute name="end" type="xs:integer"
223                                                                                 use="required" />
224                                                                         <xs:attribute name="primaryBegin"
225                                                                                 type="xs:integer" use="optional" />
226                                                                         <xs:attribute name="primaryEnd" type="xs:integer"
227                                                                                 use="optional" />
228                                                                         <xs:attribute name="accession" type="xs:string"
229                                                                                 use="required" />
230                                                                         <xs:attribute name="version" type="xs:integer"
231                                                                                 use="required" />
232                                                                         <xs:attribute default="false" name="complement"
233                                                                                 type="xs:boolean" use="optional" />
234                                                                 </xs:complexType>
235                                                         </xs:element>
236                                                         <xs:element maxOccurs="1" minOccurs="1" name="gap">
237                                                                 <xs:complexType>
238                                                                         <xs:attribute name="begin" type="xs:integer"
239                                                                                 use="required" />
240                                                                         <xs:attribute name="end" type="xs:integer"
241                                                                                 use="required" />
242                                                                         <xs:attribute name="length" type="xs:integer"
243                                                                                 use="required" />
244                                                                         <xs:attribute default="false" name="unknownLength"
245                                                                                 type="xs:boolean" use="optional" />
246                                                                 </xs:complexType>
247                                                         </xs:element>
248                                                 </xs:choice>
249                                         </xs:sequence>
250                                 </xs:complexType>
251                         </xs:element>
252                         <xs:element maxOccurs="1" minOccurs="0" name="sequence"
253                                 type="xs:string" />
254                 </xs:sequence>
255                 <xs:attribute name="accession" type="xs:string"
256                         use="required" />
257                 <xs:attribute name="version" type="xs:integer"
258                         use="required" />
259                 <xs:attribute name="entryVersion" type="xs:integer">
260                         <xs:annotation>
261                                 <xs:documentation>Not supported for EMBL-CDS.</xs:documentation>
262                         </xs:annotation>
263                 </xs:attribute>
264                 <xs:attribute name="dataClass" type="xs:string"
265                         use="required" />
266                 <xs:attribute name="taxonomicDivision" type="xs:string"
267                         use="required" />
268                 <xs:attribute name="moleculeType" type="xs:string"
269                         use="required" />
270                 <xs:attribute name="sequenceLength" type="xs:integer"
271                         use="required" />
272                 <xs:attribute name="topology" use="required">
273                         <xs:simpleType>
274                                 <xs:restriction base="xs:string">
275                                         <xs:enumeration value="circular" />
276                                         <xs:enumeration value="linear" />
277                                 </xs:restriction>
278                         </xs:simpleType>
279                 </xs:attribute>
280                 <xs:attribute name="firstPublic" type="xs:date">
281                         <xs:annotation>
282                                 <xs:documentation>Not supported for EMBL-CDS.</xs:documentation>
283                         </xs:annotation>
284                 </xs:attribute>
285                 <xs:attribute name="firstPublicRelease" type="xs:integer">
286                         <xs:annotation>
287                                 <xs:documentation>Not supported for EMBL-CDS.</xs:documentation>
288                         </xs:annotation>
289                 </xs:attribute>
290                 <xs:attribute name="lastUpdated" type="xs:date">
291                         <xs:annotation>
292                                 <xs:documentation>Not supported for EMBL-CDS.</xs:documentation>
293                         </xs:annotation>
294                 </xs:attribute>
295                 <xs:attribute name="lastUpdatedRelease" type="xs:integer">
296                         <xs:annotation>
297                                 <xs:documentation>Not supported for EMBL-CDS.</xs:documentation>
298                         </xs:annotation>
299                 </xs:attribute>
300         </xs:complexType>
301         <xs:element name="ROOT">
302                 <xs:complexType>
303                         <xs:choice>
304                                 <xs:element name="entrySet" type="EntrySetType" />
305                                 <xs:element name="entry" type="EntryType" />
306                         </xs:choice>
307                 </xs:complexType>
308         </xs:element>
309 </xs:schema>