-
Notifications
You must be signed in to change notification settings - Fork 3
/
eml-gbif-profile.xsd
1771 lines (1757 loc) · 98.2 KB
/
eml-gbif-profile.xsd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<?xml version='1.0' encoding='UTF-8'?>
<!-- The element annotations in this document are drawn from the appropriate standard. -->
<!-- For EML - see https://eml.ecoinformatics.org/ -->
<!-- For NCD - see Natural Collections Descriptions (NCD) v0.9 2008 http://wiki.tdwg.org/twiki/bin/viewfile/NCD/WebHome?rev=1;filename=NCD-v090_TDWG.doc -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" version="1.3"
xmlns:eml="https://eml.ecoinformatics.org/eml-2.2.0" elementFormDefault="qualified"
xmlns:dc="http://purl.org/dc/terms/">
<xs:import namespace="https://eml.ecoinformatics.org/eml-2.2.0" schemaLocation="eml.xsd"/>
<xs:import namespace="http://purl.org/dc/terms/" schemaLocation="dc.xsd"/>
<xs:import namespace="http://www.w3.org/XML/1998/namespace"
schemaLocation="http://rs.gbif.org/schema/xml.xsd"/>
<xs:element name="dataset">
<xs:annotation>
<xs:documentation>The dataset element is a wrapper for all other elements relating to a single dataset</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="alternateIdentifier" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="shortName" type="NonEmptyStringType" minOccurs="0">
<xs:annotation>
<xs:documentation>The 'shortName' field provides a concise name that describes the resource that is being documented. It is the appropriate place to store a filename associated with other storage systems.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="title" maxOccurs="unbounded"/>
<!-- Original creator of the dataset/resource, not necessarily the agent authoring the eml file nor the primary contact -->
<xs:element name="creator" type="agentType" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>The creator is the person who created the resource (not necessarily the author of this metadata about the resource). This is the person or institution to contact with questions about the use, interpretation of a dataset.</xs:documentation>
</xs:annotation>
</xs:element>
<!-- "Metadata author" the agent authoring the eml file -->
<xs:element name="metadataProvider" type="agentType" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>The party responsible for the creation of the metadata document</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="associatedParty" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="pubDate"/>
<xs:element ref="language" minOccurs="0"/>
<xs:element ref="abstract"/>
<xs:element ref="keywordSet" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="additionalInfo" minOccurs="0"/>
<xs:element ref="intellectualRights" minOccurs="0"/>
<xs:element ref="licensed" minOccurs="0"/>
<xs:element ref="distribution" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="coverage" minOccurs="0"/>
<xs:element ref="purpose" minOccurs="0"/>
<xs:element ref="introduction" minOccurs="0"/>
<xs:element ref="gettingStarted" minOccurs="0"/>
<xs:element ref="acknowledgements" minOccurs="0"/>
<xs:element minOccurs="0" name="maintenance">
<xs:complexType>
<xs:sequence>
<xs:element ref="description"/>
<xs:element name="maintenanceUpdateFrequency" type="MaintUpFreqType"/>
<xs:element name="changeHistory" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>A description of changes made to the data since
its release.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="changeScope" type="NonEmptyStringType">
<xs:annotation>
<xs:documentation>The expression should unambiguously identify
the entity(s) and attribute(s) that were
changed.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="oldValue" type="NonEmptyStringType">
<xs:annotation>
<xs:documentation>The previous value or an expression that
describes the previous value of the
data.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="changeDate" type="xs:date">
<xs:annotation>
<xs:documentation>The date the changes were applied.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="comment" type="NonEmptyStringType" minOccurs="0">
<xs:annotation>
<xs:documentation>Explanation or justification for the change
made to the data.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- Current primary contact for the dataset. The creator of the resource might be dead, left the organisation or doesn't want to be bothered. -->
<xs:element name="contact" type="agentType" maxOccurs="unbounded"/>
<xs:element name="publisher" type="agentType" minOccurs="0">
<xs:annotation>
<xs:documentation>The publisher of this data set. This is typically an institution that is making the data available in a published (ie, citable) format.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="methods" minOccurs="0"/>
<xs:element ref="project" minOccurs="0"/>
<xs:element name="literatureCited" type="CitationListType" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>A citation to articles or products which were referenced
in the dataset or its associated metadata. The list represents the bibliography
of works related to the dataset, whether for reference, comparison, or others
purposes.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="alternateIdentifier" type="xs:string">
<xs:annotation>
<xs:documentation>This is the only identifier issued by the IPT for the metadata document; it is a UUID</xs:documentation>
</xs:annotation>
</xs:element>
<xs:simpleType name="MaintUpFreqType">
<xs:restriction base="xs:string">
<xs:enumeration value="annually"/>
<xs:enumeration value="asNeeded"/>
<xs:enumeration value="biannually"/>
<xs:enumeration value="continually"/>
<xs:enumeration value="daily"/>
<xs:enumeration value="irregular"/>
<xs:enumeration value="monthly"/>
<xs:enumeration value="notPlanned"/>
<xs:enumeration value="weekly"/>
<xs:enumeration value="unknown"/>
<xs:enumeration value="unkown"/> <!-- deprecated, keep for compat., spelling error from prior version -->
<xs:enumeration value="otherMaintenancePeriod"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="agentType">
<xs:sequence>
<xs:choice maxOccurs="unbounded" minOccurs="1">
<xs:element name="organizationName" type="NonEmptyStringType">
<xs:annotation>
<xs:documentation>The full name of the organization that is associated with the resource. This field is intended to describe which institution or overall organization is associated with the resource being described.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="individualName"/>
<xs:element name="positionName" type="NonEmptyStringType">
<xs:annotation>
<xs:documentation>This field is intended to be used instead of a particular person or full organization name. If the associated person who holds the role changes frequently, then Position Name would be used for consistency. E.g., GBIF Data Manager.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:choice>
<xs:element ref="address" minOccurs="0"/>
<xs:element ref="phone" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="electronicMailAddress" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="onlineUrl" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="userId" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="id" type="IDType" use="optional"/>
<xs:attribute name="system" type="SystemType" use="optional"/>
<xs:attribute name="scope" type="ScopeType" use="optional"/>
</xs:complexType>
<xs:complexType name="agentWithRoleType">
<xs:complexContent>
<xs:extension base="agentType">
<xs:sequence>
<xs:element ref="role"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:element name="associatedParty" type="agentWithRoleType">
<xs:annotation>
<xs:documentation>A party associated with the resource. Parties have particular roles.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="pubDate" type="yearDate">
<xs:annotation>
<xs:documentation>The date on which the resource was published</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="language" type="NonEmptyStringType">
<xs:annotation>
<xs:documentation>The language in which the resource (not the metadata document) is written</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="abstract" type="TextType">
<xs:annotation>
<xs:documentation>A brief overview describing the dataset</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="keywordSet">
<xs:annotation>
<xs:documentation>A wrapper element for the keyword and keywordThesaurus elements</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="keyword" type="NonEmptyStringType" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>This field names a keyword or key phrase that concisely describes the resource or is related to the resource. Each keyword field should contain one and only one keyword</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="keywordThesaurus" type="NonEmptyStringType">
<xs:annotation>
<xs:documentation>The name of the official keyword thesaurus from which keyword was derived</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="additionalInfo">
<xs:annotation>
<xs:documentation>Any information that is not characterized by the other resource metadata fields</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="para"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="intellectualRights">
<xs:annotation>
<xs:documentation>Contain a rights management statement for the resource, or reference a service providing such information</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="para"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="licensed">
<xs:annotation>
<xs:documentation>This element provides information on how the resource is licensed and what rights may be available to users. GBIF only supports the following licenses CC0, CC BY and CC BY-NC. By default, the license provided here applies to all the dataset records.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="licenseName" type="NonEmptyStringType" minOccurs="1">
<xs:annotation>
<xs:documentation>The official name of a license that applies to the data and metadata described in this metadata record.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="url" type="xs:anyURI" minOccurs="0">
<xs:annotation>
<xs:documentation>The persistent URL for the license, typically a SPDX URL, or an official URL from another well-known license vocabulary.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="identifier" type="NonEmptyStringType" minOccurs="0">
<xs:annotation>
<xs:documentation>The official identifier for the license, which should be drawn from the SPDX license vocabulary, or a similar well-known license vocabulary.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="coverage">
<xs:annotation>
<xs:documentation>Describes the extent of the coverage of the resource in terms of its spatial extent, temporal extent, and taxonomic extent</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:choice maxOccurs="unbounded">
<xs:element ref="geographicCoverage" maxOccurs="1"/>
<xs:element ref="temporalCoverage" maxOccurs="1"/>
<xs:element ref="taxonomicCoverage" maxOccurs="1"/>
</xs:choice>
</xs:complexType>
</xs:element>
<xs:element name="geographicCoverage">
<xs:annotation>
<xs:documentation>A container for spatial information about a resource; allows a bounding box for the overall coverage (in lat long), and also allows description of arbitrary polygons with exclusions.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="geographicDescription" type="NonEmptyStringType" minOccurs="1">
<xs:annotation>
<xs:documentation>A short text description of a dataset's geographic areal domain. A text description is especially important to provide a geographic setting when the extent of the dataset cannot be well described by the "boundingCoordinates".</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="boundingCoordinates">
<xs:annotation>
<xs:documentation>Bounding Coordinates are the four margins (N, S, E, W) of a bounding box, or when considered in lat-lon pairs, the corners of the box.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="westBoundingCoordinate" type="xs:decimal">
<xs:annotation>
<xs:documentation>The westBoundingCoordinate field defines the longitude of the western-most point of the bounding box that is being described.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="eastBoundingCoordinate" type="xs:decimal">
<xs:annotation>
<xs:documentation>The eastBoundingCoordinate field defines the longitude of the eastern-most point of the bounding box that is being described.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="northBoundingCoordinate" type="xs:decimal">
<xs:annotation>
<xs:documentation>The northBoundingCoordinate field defines the latitude of the northern-most point of the bounding box that is being described.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="southBoundingCoordinate" type="xs:decimal">
<xs:annotation>
<xs:documentation>The southBoundingCoordinate field defines the latitude of the southern-most point of the bounding box that is being described.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="temporalCoverage">
<xs:annotation>
<xs:documentation>This field specifies temporal coverage, and allows coverages to be a single point in time, multiple points in time, or a range of dates. </xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:choice>
<xs:element name="rangeOfDates">
<xs:annotation>
<xs:documentation>The 'RangeOfDates' field is intended to be used for describing a range of dates and/or times. It may be used multiple times to document multiple date ranges. It allows for two 'singleDateTime' fields, the first to be used as the beginning dateTime, and the second to be used as the ending dateTime of the range.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="beginDate" type="calendarDate">
<xs:annotation>
<xs:documentation>A single time stamp signifying the beginning of some time period</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="endDate" type="calendarDate">
<xs:annotation>
<xs:documentation>A single time stamp signifying the end of some time period</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="singleDateTime" type="calendarDate">
<xs:annotation>
<xs:documentation>The SingleDateTime field is intended to describe a single date and time for an event</xs:documentation>
</xs:annotation>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
<xs:element name="taxonomicCoverage">
<xs:annotation>
<xs:documentation>Taxonomic Coverage is a container for taxonomic information about a resource. It includes a list of species names (or higher level ranks) from one or more classification systems.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="generalTaxonomicCoverage" type="NonEmptyStringType" minOccurs="0">
<xs:annotation>
<xs:documentation>A general description of the range of taxa addressed in the data set or collection</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="taxonomicClassification" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Information about the range of taxa addressed in the dataset or collection</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="taxonRankName" type="NonEmptyStringType" minOccurs="0">
<xs:annotation>
<xs:documentation>The name of the taxonomic rank for which the Taxon rank value is provided, e.g., Phylum, Class, Genus, Species</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="taxonRankValue" type="NonEmptyStringType">
<xs:annotation>
<xs:documentation>The name representing the taxonomic rank of the taxon being described</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="commonName" type="NonEmptyStringType" minOccurs="0">
<xs:annotation>
<xs:documentation>Applicable common names; these common names may be general descriptions of a group of organisms if appropriate, e.g., invertebrates, waterfowl</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="purpose" type="TextType">
<xs:annotation>
<xs:documentation>A synopsis of the purpose of this dataset. It may include one or more paragraphs, including a summary of key findings if appropriate.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="introduction" type="TextType">
<xs:annotation>
<xs:documentation>One to many paragraphs that provide background and context for the dataset with appropriate figures and references. This is similar to the introduction for a journal article, and would include, for example, project objectives, hypotheses being addressed, what is known about the pattern or process under study, how the data have been used to date (including references), and how they could be used in the future.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="gettingStarted" type="TextType">
<xs:annotation>
<xs:documentation>One or more paragraphs describing the dataset's overall interpretation, content and structure. For example, the number and names of data files, the types of measurements that they contain, how those data files fit
together in an overall design, and how they relate to the data collection methods, experimental design, and sampling design described in other EML sections. One might describe any specialized software that is available and/or may be necessary for analyzing or interpreting the data, and possibly include a high-level description of data formats if they are unusual.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="acknowledgements" type="TextType">
<xs:annotation>
<xs:documentation>One or more sentences that acknowledge funders and other key contributors to the study (excluding the dataset authors listed in the creator field). Note that funding awards are also listed by award number in the award section, which provides a structured list of funders, award numbers, and award URIs for the dataset.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="methods">
<xs:annotation>
<xs:documentation>The methods field documents scientific methods used in the collection of this dataset. It includes information on items such as tools, instrument calibration and software.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence maxOccurs="unbounded">
<xs:element name="methodStep" type="description">
<xs:annotation>
<xs:documentation>The methodStep field allows for repeated sets of elements that document a series of procedures followed to produce a data object. These include text descriptions of the procedures, relevant literature, software, instrumentation, source data and any quality control measures taken.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="sampling" minOccurs="0">
<xs:annotation>
<xs:documentation>Description of sampling procedures including the geographic, temporal and taxonomic coverage of the study.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="studyExtent" type="description">
<xs:annotation>
<xs:documentation>The field studyExtent represents both a specific sampling area and the sampling frequency (temporal boundaries, frequency of occurrence). The geographic studyExtent is usually a surrogate (representative area of) for the larger area documented in the "studyAreaDescription". </xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="samplingDescription">
<xs:annotation>
<xs:documentation>The samplingDescription field allows for a text-based/human readable description of the sampling procedures used in the research project. The content of this element would be similar to a description of sampling procedures found in the methods section of a journal article.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="para"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="qualityControl" type="description" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>The qualityControl field provides a location for the description of actions taken to either control or assess the quality of data resulting from the associated method step. </xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="project" type="projectType">
<xs:annotation>
<xs:documentation>The project field contains information on the project in which this dataset was collected. It includes information such as project personnel, funding, study area, project design and related projects.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:complexType name="projectType">
<xs:choice>
<xs:sequence>
<xs:element ref="title"/>
<xs:element name="personnel" type="agentWithRoleType" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>The Personnel field extends ResponsibleParty with role information and is used to document people involved in a research project by providing contact information and their role in the project. </xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="abstract" minOccurs="0"/>
<xs:element name="funding" minOccurs="0">
<xs:annotation>
<xs:documentation>The funding field is used to provide information about funding sources for the project such as: grant and contract numbers; names and addresses of funding sources.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="para"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="award" type="awardType" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>The award field is used to provide specific information about the funding awards for a project in a structured format. Sub-fields are provided for the name of the funding agency, the Open Funder Registry identifiers for the agency and program that made the award, the award number assigned, the title of the award, and the URL to the award page describing the award. In general, the funding agency should be listed with a cross-reference to the appropriate identifier from the Open Funder Registry (included in the EML distribution but updated periodically from the Open Funder Registry).
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="studyAreaDescription" minOccurs="0">
<xs:annotation>
<xs:documentation>The studyAreaDescription field documents the physical area associated with the research project. It can include descriptions of the geographic, temporal, and taxonomic coverage of the research location and descriptions of domains (themes) of interest such as climate, geology, soils or disturbances.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="descriptor"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="designDescription" type="description" minOccurs="0">
<xs:annotation>
<xs:documentation>The field designDescription contains general textual descriptions of research design. It can include detailed accounts of goals, motivations, theory, hypotheses, strategy, statistical design, and actual work. </xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="relatedProject" type="relatedProjectType" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>This field is a recursive link to another project. This allows projects to be nested under one another in the case where one project spawns another.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:choice>
<xs:attribute name="id" type="xs:string" use="optional">
<xs:annotation>
<xs:documentation>A unique identifier for the project. This can be used to link multiple datasets that are associated in some way with the same project.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
<xs:complexType name="relatedProjectType">
<xs:choice>
<xs:sequence>
<xs:element ref="title"/>
<xs:element name="personnel" type="agentWithRoleType" maxOccurs="unbounded"/>
<xs:element ref="abstract" minOccurs="0"/>
</xs:sequence>
</xs:choice>
<xs:attribute name="id" type="xs:string" use="optional">
<xs:annotation>
<xs:documentation>A unique identifier for the project. This can be used to link multiple datasets that are associated in some way with the same project.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
<xs:complexType name="awardType">
<xs:annotation>
<xs:documentation>The awardType is used to enter information about a funding award
associated with a project. The containing project contains the list of
investigators and for the award, while the `award` field contains specifics
such as the agency name, award number, and funding program identifiers.</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="funderName" type="NonEmptyStringType" minOccurs="1" maxOccurs="1">
<xs:annotation>
<xs:documentation>The name of the funding institution, with fully expanded acronyms
to show the full, official name of the funding agency. In general, this should match
the official name of the funder as listed in an Authority such as the Open
Funder Registry. The Open Funder Registry and other organizational authorities may
provide a list of other alternative names for the funding agency.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="funderIdentifier" type="NonEmptyStringType" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>The funder identifier is used to provide one or more
canonical identifiers that reference the funder. These identifiers
should be globally unique. The most common form of a funder identifier
is a DOI identifier of an institution or program drawn from the CrossRef
Open Funder Registry (https://gitlab.com/crossref/open_funder_registry),
which assigns DOIs to each funding agency and to their programs, and
links these together in a navigable hierarchy. A copy of the current
Funder Registry is included as an RDF file with EML for reference, but
as the list is constantly growing, users can retrieve new copies of the
RDF file to get updates and current metadata about funders.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="awardNumber" type="NonEmptyStringType" minOccurs="0" maxOccurs="1">
<xs:annotation>
<xs:documentation>The awardNumber field provides the unique identifier used by
the funder to uniquely identify an award. These are typically alphanumeric values
that are unique within the system used by a given funder. The number should be listed
using the canonical form that each funder uses to express its award numbers, and not
be prefixed or postfixed with extra text such as the acronym of the funder or the name
of the funder, which is available instead in the funderName field.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="title" type="NonEmptyStringType" minOccurs="1" maxOccurs="1">
<xs:annotation>
<xs:documentation>The title field is used for the title of the award or grant
being described.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="awardUrl" type="NonEmptyStringType" minOccurs="0" maxOccurs="1">
<xs:annotation>
<xs:documentation>Typically, the awardUrl is use to find and locate the award, and
generally addresses the internet location to find out more information about the
award. This should point to a funder site for the award, rather than a project site.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="CitationListType">
<xs:choice minOccurs="1" maxOccurs="unbounded">
<xs:element name="bibtex" type="xs:string">
<xs:annotation>
<xs:documentation>The bibtex field provides a parseable list of citations formatted according to the Bibtex formatting conventions. Each citation entry is assigned a unique key that must be unique across all bibtex fields in the EML document. The citation key can be used in markdown sections of the text to refer to this citation using the pandoc-style of inline citation keys. See the markdown element for more details. The record is delimited using curly braces. Most reference software can both import and export citations in Bibtex format, so this is a simpler representation to produce and consume than native EML citation representations.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:choice>
</xs:complexType>
<xs:element name="descriptor">
<xs:annotation>
<xs:documentation>The descriptor field is used to document domains (themes) of interest such as climate, geology, soils or disturbances.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="descriptorValue"/>
</xs:sequence>
<xs:attribute name="citableClassificationSystem" use="optional" type="xs:boolean"/>
<xs:attribute name="name" use="optional" type="descriptorEnum"/>
</xs:complexType>
</xs:element>
<xs:simpleType name="descriptorEnum">
<xs:restriction base="xs:string">
<xs:enumeration value="thematic"/>
<xs:enumeration value="geographic"/>
<xs:enumeration value="generic"/>
</xs:restriction>
</xs:simpleType>
<xs:element name="descriptorValue" type="xs:string">
<xs:annotation>
<xs:documentation>The descriptorValue field contains a general description, either thematic or geographic, of the study area.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="additionalMetadata">
<xs:annotation>
<xs:documentation>A flexible field for including any other relevant metadata that pertains to the resource being described. This field allows EML to be extensible in that any XML-based metadata can be included in this element.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="metadata">
<xs:annotation>
<xs:documentation>This element contains the additional metadata to be included in the document. This element should be used for extending EML to include metadata that is not already available in another part of the EML specification.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="gbif">
<xs:annotation>
<xs:documentation>A block of additional metadata used for some special GBIF purposes and crossmapping to other schemas like the TDWG Natural Collection Data (NCD) schema</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<!-- additional general metadata -->
<xs:element name="dateStamp" type="xs:dateTime">
<xs:annotation>
<xs:documentation>The date the metadata document was created or modified.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="hierarchyLevel" type="NonEmptyStringType" minOccurs="0">
<xs:annotation>
<xs:documentation/>
</xs:annotation>
</xs:element>
<xs:element name="citation" type="citationType" minOccurs="0">
<xs:annotation>
<xs:documentation>A single citation for use when citing the dataset</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="bibliography" minOccurs="0">
<xs:annotation>
<xs:documentation>A list of citations that form a bibliography on literature related / used in the dataset</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="citation" type="citationType" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="physical" maxOccurs="unbounded" minOccurs="0">
<xs:annotation>
<xs:documentation>A container element for all of the elements that let you describe the internal/external characteristics and distribution of a data object (e.g., dataObject, dataFormat, distribution) .</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="objectName"/>
<xs:element ref="characterEncoding" minOccurs="0"/>
<xs:element ref="dataFormat"/>
<xs:element ref="distribution"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="resourceLogoUrl" type="xs:anyURI" minOccurs="0">
<xs:annotation>
<xs:documentation>URL of the logo associated with a resource</xs:documentation>
</xs:annotation>
</xs:element>
<!-- additional NCD collection metadata -->
<xs:element name="collection" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>A container element for other elements associated with collections (e.g., collectionIdentifier, collectionName).</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="parentCollectionIdentifier" type="NonEmptyStringType"
minOccurs="0">
<xs:annotation>
<xs:documentation>Identifier for the parent collection for this sub-collection. Enables a hierarchy of collections and sub collections to be built. </xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="collectionIdentifier" type="NonEmptyStringType"
minOccurs="0">
<xs:annotation>
<xs:documentation>The URI (LSID or URL) of the collection. In RDF, used as URI of the collection resource.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="collectionName" type="NonEmptyStringType">
<xs:annotation>
<xs:documentation>Official name of the Collection in the local language</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="formationPeriod" type="NonEmptyStringType" minOccurs="0"
maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Text description of the time period during which the collection was assembled e.g. "Victorian", or "1922 - 1932", or "c. 1750". </xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="specimenPreservationMethod" type="NonEmptyStringType"
minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Picklist keyword indicating the process or technique used to prevent physical deterioration of non-living collections. Expected to contain a value from the GBIF Specimen Preservation Method vocabulary</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="livingTimePeriod" type="NonEmptyStringType" minOccurs="0"
maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Time period during which biological material was alive. (for palaeontological collections)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="jgtiCuratorialUnit" maxOccurs="unbounded" minOccurs="0"/>
<xs:element ref="dc:replaces" minOccurs="0">
<xs:annotation>
<xs:documentation>Pointer to previous version of the document</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:complexType name="citationType">
<xs:annotation>
<xs:documentation>A single literature citation with an optional identifier</xs:documentation>
</xs:annotation>
<xs:simpleContent>
<xs:extension base="NonEmptyStringType">
<xs:attribute name="identifier" use="optional" type="xs:string">
<xs:annotation>
<xs:documentation>A URI, DOI or other persistent identifier for the citation</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:element name="jgtiCuratorialUnit">
<xs:annotation>
<xs:documentation>A quantitative descriptor (number of specimens, samples or batches). </xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="jgtiUnitType" type="NonEmptyStringType">
<xs:annotation>
<xs:documentation>A general description of the unit of curation, e.g., 'jar containing plankton sample'; </xs:documentation>
</xs:annotation>
</xs:element>
<xs:choice maxOccurs="1" minOccurs="1">
<xs:element name="jgtiUnits">
<xs:annotation>
<xs:documentation>The exact number of units within the collection</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:integer">
<xs:attribute name="uncertaintyMeasure" use="required" type="xs:integer">
<xs:annotation>
<xs:documentation>A measure of the uncertainty (+ or -) x associated with the jgtiUnits value</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="jgtiUnitRange">
<xs:annotation>
<xs:documentation>A range of numbers (x to x), with the lower value representing an exact number, when the higher value is omitted.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="beginRange" type="xs:integer">
<xs:annotation>
<xs:documentation>The lower value in a range of numbers. Use to represent an exact number by omitting the "endRange" value.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="endRange" type="xs:integer">
<xs:annotation>
<xs:documentation>The upper value in a range of numbers.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="objectName" type="NonEmptyStringType">
<xs:annotation>
<xs:documentation>The name of the data object. This often is the filename of a file in a file system or that is accessible on the network. </xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="characterEncoding" type="NonEmptyStringType">
<xs:annotation>
<xs:documentation>This element contains the name of the character encoding. This is typically ASCII or UTF-8, or one of the other common encodings.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="dataFormat">
<xs:annotation>
<xs:documentation>This is a container element for other elements which describe the internal physical characteristics of the data object.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:choice>
<xs:element name="textFormat">
<xs:annotation>
<xs:documentation>
Description of a text formatted object.
The description includes detailed parsing instructions for
extracting attributes from the bytestream for simple
delimited file formats (e.g., CSV), fixed format files
that use fixed columns for attribute locations, and
mixtures of the two. It also supports records that
span multiple lines.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="numHeaderLines" type="xs:int" minOccurs="0">
<xs:annotation>
<xs:documentation>
Number of header lines preceding
data. Lines are determined by the
physicalLineDelimiter, or if it is absent, by the
recordDelimiter. This value indicated the
number of header lines that should be skipped
before starting to parse the data.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="numFooterLines" type="xs:int" minOccurs="0">
<xs:annotation>
<xs:documentation>
Number of footer lines following
data. Lines are determined by the
physicalLineDelimiter, or if it is absent, by the
recordDelimiter. This value indicated the
number of footer lines that should be skipped
after parsing the data. If this value is omitted,
parsers should assume the data continues to the end
of the data stream.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="recordDelimiter" type="xs:string" minOccurs="0"
maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>
This element specifies the record
delimiter character when the format is text. The
record delimiter is usually a linefeed (\n) on UNIX, a
carriage return (\r) on MacOS, or both (\r\n) on
Windows/DOS. Multiline records are usually delimited
with two line ending characters, for example on UNIX
it would be two linefeed characters (\n\n). As record
delimiters are often non-printing characters, one can
use either the special value "\n" to represent a
linefeed (ASCII 0x0a) and "\r" to represent a carriage
return (ASCII 0x0d). Alternatively, one can use the
hex value to represent character values (e.g., 0x0a).
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="physicalLineDelimiter" type="xs:string" minOccurs="0"
maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>
This element specifies the physical
line delimiter character when the format is text. The
line delimiter is usually a linefeed (\n) on UNIX, a
carriage return (\r) on MacOS, or both (\r\n) on
Windows/DOS. Multiline records are usually delimited
with two line ending characters, for example on UNIX
it would be two linefeed characters (\n\n). As line
delimiters are often non-printing characters, one can
use either the special value "\n" to represent a
linefeed (ASCII 0x0a) and "\r" to represent a carriage
return (ASCII 0x0d). Alternatively, one can use the
hex value to represent character values (e.g., 0x0a).
If this value is not provided, processors should
assume that the physical line delimiter is the same
as the record delimiter.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="numPhysicalLinesPerRecord" type="xs:unsignedInt" minOccurs="0">
<xs:annotation>
<xs:documentation>
A single logical data record may be
written over several physical lines in a file, with
no special marker to indicate the end of a record. In
such cases, it is necessary to know the number of
lines per record in order to correctly read
them. If this value is not provided, processors should
assume that records are wholly contained on one
physical line. If the value is greater than 1, then
processors should examine the lineNumber field for
each attribute to determine which line of the
record contains the information.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="maxRecordLength" type="xs:unsignedLong" minOccurs="0">
<xs:annotation>
<xs:documentation>
The maximum number of characters
in any record in the physical file. For delimited
files, the record length varies and this is not
particularly useful. However, for fixed format files
that do not contain record delimiters, this field is
critical to tell processors when one record stops
and another begins.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="attributeOrientation">
<xs:annotation>
<xs:documentation>
Specifies whether the attributes
described in the physical stream are found in
columns or rows. The valid values are column or row.
If set to 'column', then the attributes are in
columns. If set to 'row', then the attributes
are in rows. Row orientation is rare, but some
systems such as SPlus and R utilize it.
For example, some data with column orientation:
DATE PLOT SPECIES
2002-01-15 hfr5 acer rubrum
2002-01-15 hfr5 acer xxxx
The same data in a rowMajor table:
DATE 2002-01-15
PLOT hfr5
SPECIES acer rubrum acer xxxx
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="column"/>
<xs:enumeration value="row"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:choice>
<xs:element name="simpleDelimited">
<xs:annotation>
<xs:documentation>
A simple delimited format that
uses one of a series of delimiters to indicate
the ends of fields in the data stream. More
complex formats such as fixed format or mixed
delimited and fixed formats can be described using
the "complex" element.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="fieldDelimiter" type="xs:string" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>
This element specifies
a character to be used in the object for
indicating the ending column for an attribute.
The delimiter character itself is not part
of the attribute value, but rather is present
in the column following the last character
of the value. Typical delimiter characters
include commas, tabs, spaces, and semicolons.
The only time the fieldDelimiter character is
not interpreted as a delimiter is if it
is contained in a quoted string
(see quoteCharacter) or is immediately
preceded by a literalCharacter.
Non-printable quote characters can be
provided as their hex values, and for tab
characters by its ASCII string "\t".
Processors should assume that the field
starts in the column following the previous
field if the previous field was fixed,
or in the column following the delimiter
from the previous field if the previous
field was delimited.
</xs:documentation>
</xs:annotation>
</xs:element>