(no commit message)
[cdmlib.git] / cdmlib-io / src / main / resources / schema / cdm / name.xsd
1 <?xml version="1.0" encoding="UTF-8"?>
2 <xs:schema elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0"
3 targetNamespace="http://etaxonomy.eu/cdm/model/name/1.0"
4 xmlns:name="http://etaxonomy.eu/cdm/model/name/1.0"
5 xmlns:occurrence="http://etaxonomy.eu/cdm/model/occurrence/1.0"
6 xmlns:common="http://etaxonomy.eu/cdm/model/common/1.0"
7 xmlns:description="http://etaxonomy.eu/cdm/model/description/1.0"
8 xmlns:xs="http://www.w3.org/2001/XMLSchema"
9 xmlns:reference="http://etaxonomy.eu/cdm/model/reference/1.0"
10 xmlns:agent="http://etaxonomy.eu/cdm/model/agent/1.0"
11 xmlns:taxon="http://etaxonomy.eu/cdm/model/taxon/1.0"
12 xmlns:jxb="http://java.sun.com/xml/ns/jaxb"
13 xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
14 jxb:extensionBindingPrefixes="xjc"
15 jxb:version="2.1"
16 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
17 xsi:schemaLocation="http://www.w3.org/XML/1998/namespace
18 http://www.w3.org/2005/08/xml.xsd
19 http://www.w3.org/2001/XMLSchema
20 http://www.w3.org/2001/XMLSchema.xsd">
21 <xs:import namespace="http://etaxonomy.eu/cdm/model/common/1.0" schemaLocation="common.xsd"/>
22 <xs:import namespace="http://etaxonomy.eu/cdm/model/reference/1.0" schemaLocation="reference.xsd"/>
23 <xs:import namespace="http://etaxonomy.eu/cdm/model/description/1.0" schemaLocation="description.xsd"/>
24 <xs:import namespace="http://etaxonomy.eu/cdm/model/occurrence/1.0" schemaLocation="occurrence.xsd"/>
25 <xs:import namespace="http://etaxonomy.eu/cdm/model/agent/1.0" schemaLocation="agent.xsd"/>
26 <xs:import namespace="http://etaxonomy.eu/cdm/model/taxon/1.0" schemaLocation="taxon.xsd"/>
27 <xs:annotation>
28 <xs:appinfo>
29 <jxb:schemaBindings>
30 <jxb:package name="eu.etaxonomy.cdm.model.name"/>
31 </jxb:schemaBindings>
32 </xs:appinfo>
33 </xs:annotation>
34 <xs:element name="BacterialName">
35 <xs:complexType>
36 <xs:complexContent>
37 <xs:extension base="name:NonViralName">
38 <xs:sequence>
39 <xs:element name="SubGenusAuthorship" type="xs:string" minOccurs="0"/>
40 <xs:element name="NameApprobation" type="xs:string" minOccurs="0"/>
41 </xs:sequence>
42 </xs:extension>
43 </xs:complexContent>
44 </xs:complexType>
45 </xs:element>
46
47 <xs:element name="BotanicalName" type="name:BotanicalName"/>
48
49 <xs:element name="CultivarPlantName">
50 <xs:complexType>
51 <xs:complexContent>
52 <xs:extension base="name:BotanicalName">
53 <xs:sequence>
54 <xs:element name="CultivarName" type="xs:string"/>
55 </xs:sequence>
56 </xs:extension>
57 </xs:complexContent>
58 </xs:complexType>
59 </xs:element>
60
61 <xs:element name="HomotypicalGroup" type="name:HomotypicalGroup"/>
62
63 <xs:element name="HybridRelationshipType" type="name:HybridRelationshipType"/>
64
65 <xs:element name="NameRelationshipType" type="name:NameRelationshipType"/>
66
67 <xs:element name="NameTypeDesignation" type="name:NameTypeDesignation"/>
68
69 <xs:element name="NameTypeDesignationStatus" type="name:NameTypeDesignationStatus"/>
70
71 <xs:element name="NomenclaturalCode" type="name:NomenclaturalCode"/>
72
73 <xs:element name="NomenclaturalStatusType" type="name:NomenclaturalStatusType"/>
74
75 <xs:element name="NonViralName" type="name:NonViralName"/>
76
77 <xs:element name="Rank" type="name:Rank"/>
78
79 <xs:element name="SpecimenTypeDesignation" type="name:SpecimenTypeDesignation"/>
80
81 <xs:element name="TaxonNameBase" type="name:TaxonNameBase"/>
82
83 <xs:element name="TypeDesignationBase" type="name:TypeDesignationBase"/>
84
85 <xs:element name="SpecimenTypeDesignationStatus" type="name:SpecimenTypeDesignationStatus"/>
86
87 <xs:element name="ViralName">
88 <xs:complexType>
89 <xs:complexContent>
90 <xs:extension base="name:TaxonNameBase">
91 <xs:sequence>
92 <xs:element name="Acronym" type="xs:string" minOccurs="0"/>
93 </xs:sequence>
94 </xs:extension>
95 </xs:complexContent>
96 </xs:complexType>
97 </xs:element>
98
99 <xs:element name="ZoologicalName" type="name:ZoologicalName"/>
100
101 <xs:complexType name="HybridRelationshipType">
102 <xs:complexContent>
103 <xs:extension base="common:RelationshipTermBase">
104 <xs:sequence/>
105 </xs:extension>
106 </xs:complexContent>
107 </xs:complexType>
108
109 <xs:complexType name="NameRelationshipType">
110 <xs:complexContent>
111 <xs:extension base="common:RelationshipTermBase">
112 <xs:sequence/>
113 </xs:extension>
114 </xs:complexContent>
115 </xs:complexType>
116
117 <xs:simpleType name="NomenclaturalCode">
118 <xs:restriction base="xs:string">
119 <xs:enumeration value="ICBN"/>
120 <xs:enumeration value="ICNB"/>
121 <xs:enumeration value="ICNCP"/>
122 <xs:enumeration value="ICVCN"/>
123 <xs:enumeration value="ICZN"/>
124 </xs:restriction>
125 </xs:simpleType>
126
127
128 <xs:complexType name="NomenclaturalStatusType">
129 <xs:complexContent>
130 <xs:extension base="common:OrderedTermBase">
131 <xs:sequence/>
132 </xs:extension>
133 </xs:complexContent>
134 </xs:complexType>
135
136 <xs:complexType name="Rank">
137 <xs:complexContent>
138 <xs:extension base="common:OrderedTermBase">
139 <xs:sequence/>
140 </xs:extension>
141 </xs:complexContent>
142 </xs:complexType>
143
144 <xs:complexType name="SpecimenTypeDesignationStatus">
145 <xs:complexContent>
146 <xs:extension base="name:TypeDesignationStatusBase">
147 <xs:sequence/>
148 </xs:extension>
149 </xs:complexContent>
150 </xs:complexType>
151
152 <xs:complexType name="TaxonNameBase" abstract="true">
153 <xs:complexContent>
154 <xs:extension base="common:IdentifiableEntity">
155 <xs:sequence>
156 <xs:element name="AppendedPhrase" type="xs:string" minOccurs="0"/>
157 <xs:element name="NomenclaturalMicroReference" type="xs:string" minOccurs="0"/>
158 <xs:element name="NomenclaturalReference" type="xs:IDREF" minOccurs="0"/>
159 <xs:element name="Rank" type="xs:IDREF" minOccurs="0"/>
160 <xs:element name="FullTitleCache" type="xs:string" minOccurs="0"/>
161 <xs:element name="ProtectedFullTitleCache" type="xs:boolean"/>
162 <xs:element name="HomotypicalGroup" type="xs:IDREF" minOccurs="0"/>
163 <xs:element name="TypeDesignations" minOccurs="0">
164 <xs:complexType>
165 <xs:sequence>
166 <xs:element name="TypeDesignation" type="xs:IDREF" minOccurs="0" maxOccurs="unbounded"/>
167 </xs:sequence>
168 </xs:complexType>
169 </xs:element>
170 <xs:element name="RelationsFromThisName" minOccurs="0">
171 <xs:complexType>
172 <xs:sequence>
173 <xs:element name="RelationFromThisName" type="name:NameRelationship" minOccurs="0" maxOccurs="unbounded"/>
174 </xs:sequence>
175 </xs:complexType>
176 </xs:element>
177 <xs:element name="RelationsToThisName" minOccurs="0">
178 <xs:complexType>
179 <xs:sequence>
180 <xs:element name="RelationToThisName" type="xs:IDREF" minOccurs="0" maxOccurs="unbounded"/>
181 </xs:sequence>
182 </xs:complexType>
183 </xs:element>
184 <xs:element name="NomenclaturalStatuses" minOccurs="0">
185 <xs:complexType>
186 <xs:sequence>
187 <xs:element name="NomenclaturalStatus" type="name:NomenclaturalStatus" minOccurs="0" maxOccurs="unbounded"/>
188 </xs:sequence>
189 </xs:complexType>
190 </xs:element>
191 <xs:element name="Descriptions" minOccurs="0">
192 <xs:complexType>
193 <xs:sequence>
194 <xs:element name="Description" type="description:TaxonNameDescription" minOccurs="0" maxOccurs="unbounded"/>
195 </xs:sequence>
196 </xs:complexType>
197 </xs:element>
198 <xs:element name="TaxonBases" minOccurs="0">
199 <xs:complexType>
200 <xs:sequence>
201 <xs:element name="TaxonBase" type="xs:IDREF" minOccurs="0" maxOccurs="unbounded"/>
202 </xs:sequence>
203 </xs:complexType>
204 </xs:element>
205 </xs:sequence>
206 <xs:attribute name="parsingProblem" type="xs:int" use="required"/>
207 <xs:attribute name="problemStarts" type="xs:int" use="required"/>
208 <xs:attribute name="problemEnds" type="xs:int" use="required"/>
209 </xs:extension>
210 </xs:complexContent>
211 </xs:complexType>
212
213
214 <xs:complexType name="HomotypicalGroup">
215 <xs:complexContent>
216 <xs:extension base="common:AnnotatableEntity">
217 <xs:sequence>
218 <xs:element name="TypifiedNames" minOccurs="0">
219 <xs:complexType>
220 <xs:sequence>
221 <xs:element name="TypifiedName" type="xs:IDREF" minOccurs="0" maxOccurs="unbounded"/>
222 </xs:sequence>
223 </xs:complexType>
224 </xs:element>
225 </xs:sequence>
226 </xs:extension>
227 </xs:complexContent>
228 </xs:complexType>
229
230 <xs:complexType name="TypeDesignationBase" abstract="true">
231 <xs:complexContent>
232 <xs:extension base="common:ReferencedEntityBase">
233 <xs:sequence>
234 <xs:element name="TypifiedNames" minOccurs="0">
235 <xs:complexType>
236 <xs:sequence>
237 <xs:element name="TypifiedName" type="xs:IDREF" minOccurs="0" maxOccurs="unbounded"/>
238 </xs:sequence>
239 </xs:complexType>
240 </xs:element>
241 <xs:element name="HomotypicalGroup" type="xs:IDREF" minOccurs="0"/>
242 <xs:element name="IsNotDesignated" type="xs:boolean"/>
243 <xs:element name="TypeStatus" type="xs:IDREF" minOccurs="0"/>
244 </xs:sequence>
245 </xs:extension>
246 </xs:complexContent>
247 </xs:complexType>
248
249 <xs:complexType name="NameRelationship">
250 <xs:complexContent>
251 <xs:extension base="common:RelationshipBase">
252 <xs:sequence>
253 <xs:element name="RelatedFrom" type="xs:IDREF" minOccurs="0"/>
254 <xs:element name="RelatedTo" type="xs:IDREF" minOccurs="0"/>
255 <xs:element name="Type" type="xs:IDREF" minOccurs="0"/>
256 <xs:element name="RuleConsidered" type="xs:string" minOccurs="0"/>
257 </xs:sequence>
258 </xs:extension>
259 </xs:complexContent>
260 </xs:complexType>
261
262 <xs:complexType name="NomenclaturalStatus">
263 <xs:complexContent>
264 <xs:extension base="common:ReferencedEntityBase">
265 <xs:sequence>
266 <xs:element name="ruleConsidered" type="xs:string" minOccurs="0"/>
267 <xs:element name="NomenclaturalStatusType" type="xs:IDREF" minOccurs="0"/>
268 </xs:sequence>
269 </xs:extension>
270 </xs:complexContent>
271 </xs:complexType>
272
273 <xs:complexType name="NameTypeDesignation">
274 <xs:complexContent>
275 <xs:extension base="name:TypeDesignationBase">
276 <xs:sequence>
277 <xs:element name="IsRejectedType" type="xs:boolean"/>
278 <xs:element name="IsConservedType" type="xs:boolean"/>
279 <xs:element name="IsLectoType" type="xs:boolean"/>
280 <xs:element name="TypeName" type="xs:IDREF" minOccurs="0"/>
281 </xs:sequence>
282 </xs:extension>
283 </xs:complexContent>
284 </xs:complexType>
285
286 <xs:complexType name="TypeDesignationStatusBase" abstract="true">
287 <xs:complexContent>
288 <xs:extension base="common:OrderedTermBase">
289 <xs:sequence/>
290 </xs:extension>
291 </xs:complexContent>
292 </xs:complexType>
293
294 <xs:complexType name="NameTypeDesignationStatus">
295 <xs:complexContent>
296 <xs:extension base="name:TypeDesignationStatusBase">
297 <xs:sequence/>
298 </xs:extension>
299 </xs:complexContent>
300 </xs:complexType>
301
302 <xs:complexType name="SpecimenTypeDesignation">
303 <xs:complexContent>
304 <xs:extension base="name:TypeDesignationBase">
305 <xs:sequence>
306 <xs:element name="TypeSpecimen" type="xs:IDREF" minOccurs="0"/>
307 </xs:sequence>
308 </xs:extension>
309 </xs:complexContent>
310 </xs:complexType>
311
312 <xs:complexType name="NonViralName">
313 <xs:complexContent>
314 <xs:extension base="name:TaxonNameBase">
315 <xs:sequence>
316 <xs:element name="NameCache" type="xs:string" minOccurs="0"/>
317 <xs:element name="GenusOrUninomial" type="xs:string" minOccurs="0"/>
318 <xs:element name="InfraGenericEpithet" type="xs:string" minOccurs="0"/>
319 <xs:element name="SpecificEpithet" type="xs:string" minOccurs="0"/>
320 <xs:element name="InfraSpecificEpithet" type="xs:string" minOccurs="0"/>
321 <xs:element name="CombinationAuthorTeam" type="xs:IDREF" minOccurs="0"/>
322 <xs:element name="ExCombinationAuthorTeam" type="xs:IDREF" minOccurs="0"/>
323 <xs:element name="BasionymAuthorTeam" type="xs:IDREF" minOccurs="0"/>
324 <xs:element name="ExBasionymAuthorTeam" type="xs:IDREF" minOccurs="0"/>
325 <xs:element name="AuthorshipCache" type="xs:string" minOccurs="0"/>
326 <xs:element name="ProtectedAuthorshipCache" type="xs:boolean"/>
327 <xs:element name="ProtectedNameCache" type="xs:boolean"/>
328 <xs:element name="HybridRelationsFromThisName" minOccurs="0">
329 <xs:complexType>
330 <xs:sequence>
331 <xs:element name="HybridRelationsFromThisName" type="name:HybridRelationship" minOccurs="0" maxOccurs="unbounded"/>
332 </xs:sequence>
333 </xs:complexType>
334 </xs:element>
335 <xs:element name="HybridRelationsToThisName" minOccurs="0">
336 <xs:complexType>
337 <xs:sequence>
338 <xs:element name="HybridRelationsToThisName" type="name:HybridRelationship" minOccurs="0" maxOccurs="unbounded"/>
339 </xs:sequence>
340 </xs:complexType>
341 </xs:element>
342 <xs:element name="IsHybridFormula" type="xs:boolean"/>
343 <xs:element name="IsMonomHybrid" type="xs:boolean"/>
344 <xs:element name="IsBinomHybrid" type="xs:boolean"/>
345 <xs:element name="IsTrinomHybrid" type="xs:boolean"/>
346 </xs:sequence>
347 </xs:extension>
348 </xs:complexContent>
349 </xs:complexType>
350
351 <xs:complexType name="BotanicalName">
352 <xs:complexContent>
353 <xs:extension base="name:NonViralName">
354 <xs:sequence>
355 <xs:element name="IsMonomHybrid" type="xs:boolean"/>
356 <xs:element name="IsBinomHybrid" type="xs:boolean"/>
357 <xs:element name="IsTrinomHybrid" type="xs:boolean"/>
358 <xs:element name="IsAnamorphic" type="xs:boolean"/>
359 </xs:sequence>
360 </xs:extension>
361 </xs:complexContent>
362 </xs:complexType>
363
364 <xs:complexType name="HybridRelationship">
365 <xs:complexContent>
366 <xs:extension base="common:RelationshipBase">
367 <xs:sequence>
368 <xs:element name="RelatedFrom" type="xs:IDREF" minOccurs="0"/>
369 <xs:element name="RelatedTo" type="xs:IDREF" minOccurs="0"/>
370 <xs:element name="Type" type="xs:IDREF" minOccurs="0"/>
371 <xs:element name="RuleConsidered" type="xs:string" minOccurs="0"/>
372 </xs:sequence>
373 </xs:extension>
374 </xs:complexContent>
375 </xs:complexType>
376
377 <xs:complexType name="ZoologicalName">
378 <xs:complexContent>
379 <xs:extension base="name:NonViralName">
380 <xs:sequence>
381 <xs:element name="Breed" type="xs:string" minOccurs="0"/>
382 <xs:element name="PublicationYear" type="xs:int" minOccurs="0"/>
383 <xs:element name="OriginalPublicationYear" type="xs:int" minOccurs="0"/>
384 </xs:sequence>
385 </xs:extension>
386 </xs:complexContent>
387 </xs:complexType>
388 </xs:schema>
389