orcid_client 0.8 → 0.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (146) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/build.yml +39 -0
  3. data/.github/workflows/changelog.yml +36 -0
  4. data/.github/workflows/release.yml +49 -0
  5. data/Gemfile.lock +124 -104
  6. data/lib/orcid_client/api.rb +1 -1
  7. data/lib/orcid_client/external_identifier.rb +1 -1
  8. data/lib/orcid_client/version.rb +1 -1
  9. data/lib/orcid_client/work.rb +1 -1
  10. data/orcid_client.gemspec +1 -1
  11. data/resources/README.md +48 -43
  12. data/resources/common_3.0/common-3.0.xsd +998 -0
  13. data/resources/common_3.0/samples/common-3.0.xml +8 -0
  14. data/resources/common_3.0/samples/common-3.0_external-identifier.xml +11 -0
  15. data/resources/notification_3.0/README.md +130 -0
  16. data/resources/notification_3.0/images/notification-intro.jpg +0 -0
  17. data/resources/notification_3.0/images/notification-subject.jpg +0 -0
  18. data/resources/notification_3.0/notification-custom-3.0.xsd +38 -0
  19. data/resources/notification_3.0/notification-permission-3.0.xsd +134 -0
  20. data/resources/notification_3.0/samples/notification-custom-3.0.xml +27 -0
  21. data/resources/notification_3.0/samples/notification-permission-3.0.xml +58 -0
  22. data/resources/record_3.0/README.md +408 -0
  23. data/resources/record_3.0/activities-3.0.xsd +456 -0
  24. data/resources/record_3.0/address-3.0.xsd +73 -0
  25. data/resources/record_3.0/bulk-3.0.xsd +57 -0
  26. data/resources/record_3.0/distinction-3.0.xsd +51 -0
  27. data/resources/record_3.0/education-3.0.xsd +51 -0
  28. data/resources/record_3.0/email-3.0.xsd +76 -0
  29. data/resources/record_3.0/employment-3.0.xsd +51 -0
  30. data/resources/record_3.0/error-3.0.xsd +84 -0
  31. data/resources/record_3.0/expanded-search-3.0.xsd +114 -0
  32. data/resources/record_3.0/funding-3.0.xsd +204 -0
  33. data/resources/record_3.0/history-3.0.xsd +185 -0
  34. data/resources/record_3.0/invited-position-3.0.xsd +50 -0
  35. data/resources/record_3.0/keyword-3.0.xsd +72 -0
  36. data/resources/record_3.0/membership-3.0.xsd +51 -0
  37. data/resources/record_3.0/other-name-3.0.xsd +78 -0
  38. data/resources/record_3.0/peer-review-3.0.xsd +263 -0
  39. data/resources/record_3.0/person-3.0.xsd +85 -0
  40. data/resources/record_3.0/person-external-identifier-3.0.xsd +63 -0
  41. data/resources/record_3.0/personal-details-3.0.xsd +162 -0
  42. data/resources/record_3.0/preferences-3.0.xsd +50 -0
  43. data/resources/record_3.0/qualification-3.0.xsd +50 -0
  44. data/resources/record_3.0/record-3.0.xsd +91 -0
  45. data/resources/record_3.0/research-resource-3.0.xsd +144 -0
  46. data/resources/record_3.0/researcher-url-3.0.xsd +86 -0
  47. data/resources/record_3.0/samples/read_samples/activities-3.0.xml +742 -0
  48. data/resources/record_3.0/samples/read_samples/address-3.0.xml +16 -0
  49. data/resources/record_3.0/samples/read_samples/addresses-3.0.xml +32 -0
  50. data/resources/record_3.0/samples/read_samples/biography-3.0.xml +10 -0
  51. data/resources/record_3.0/samples/read_samples/bulk-work-err.xml +45 -0
  52. data/resources/record_3.0/samples/read_samples/credit-name-3.0.xml +5 -0
  53. data/resources/record_3.0/samples/read_samples/distinction-3.0.xml +55 -0
  54. data/resources/record_3.0/samples/read_samples/distinctions-3.0.xml +106 -0
  55. data/resources/record_3.0/samples/read_samples/education-3.0.xml +55 -0
  56. data/resources/record_3.0/samples/read_samples/education-full-3.0.xml +55 -0
  57. data/resources/record_3.0/samples/read_samples/educations-3.0.xml +118 -0
  58. data/resources/record_3.0/samples/read_samples/email-3.0.xml +16 -0
  59. data/resources/record_3.0/samples/read_samples/emails-3.0.xml +31 -0
  60. data/resources/record_3.0/samples/read_samples/employment-3.0.xml +55 -0
  61. data/resources/record_3.0/samples/read_samples/employment-full-3.0.xml +55 -0
  62. data/resources/record_3.0/samples/read_samples/employments-3.0.xml +108 -0
  63. data/resources/record_3.0/samples/read_samples/error-3.0.xml +8 -0
  64. data/resources/record_3.0/samples/read_samples/external-identifier-3.0.xml +21 -0
  65. data/resources/record_3.0/samples/read_samples/external-identifiers-3.0.xml +38 -0
  66. data/resources/record_3.0/samples/read_samples/full-record-3.0.json +2332 -0
  67. data/resources/record_3.0/samples/read_samples/funding-3.0.xml +75 -0
  68. data/resources/record_3.0/samples/read_samples/funding-full-3.0.xml +75 -0
  69. data/resources/record_3.0/samples/read_samples/fundings-3.0.xml +139 -0
  70. data/resources/record_3.0/samples/read_samples/history-3.0.xml +22 -0
  71. data/resources/record_3.0/samples/read_samples/invited-position-3.0.xml +55 -0
  72. data/resources/record_3.0/samples/read_samples/invited-positions-3.0.xml +106 -0
  73. data/resources/record_3.0/samples/read_samples/keyword-3.0.xml +18 -0
  74. data/resources/record_3.0/samples/read_samples/keywords-3.0.xml +34 -0
  75. data/resources/record_3.0/samples/read_samples/membership-3.0.xml +55 -0
  76. data/resources/record_3.0/samples/read_samples/memberships-3.0.xml +106 -0
  77. data/resources/record_3.0/samples/read_samples/name-3.0.xml +12 -0
  78. data/resources/record_3.0/samples/read_samples/other-name-3.0.xml +16 -0
  79. data/resources/record_3.0/samples/read_samples/other-names-3.0.xml +31 -0
  80. data/resources/record_3.0/samples/read_samples/peer-review-3.0.xml +59 -0
  81. data/resources/record_3.0/samples/read_samples/peer-review-full-3.0.xml +59 -0
  82. data/resources/record_3.0/samples/read_samples/peer-reviews-3.0.xml +76 -0
  83. data/resources/record_3.0/samples/read_samples/person-3.0.xml +122 -0
  84. data/resources/record_3.0/samples/read_samples/personal-details-3.0.xml +47 -0
  85. data/resources/record_3.0/samples/read_samples/preferences-3.0.xml +4 -0
  86. data/resources/record_3.0/samples/read_samples/qualification-3.0.xml +55 -0
  87. data/resources/record_3.0/samples/read_samples/qualifications-3.0.xml +106 -0
  88. data/resources/record_3.0/samples/read_samples/record-3.0.xml +770 -0
  89. data/resources/record_3.0/samples/read_samples/research-resource-3.0.xml +138 -0
  90. data/resources/record_3.0/samples/read_samples/research-resources-3.0.xml +143 -0
  91. data/resources/record_3.0/samples/read_samples/researcher-url-3.0.xml +19 -0
  92. data/resources/record_3.0/samples/read_samples/researcher-urls-3.0.xml +21 -0
  93. data/resources/record_3.0/samples/read_samples/search-3.0.xml +14 -0
  94. data/resources/record_3.0/samples/read_samples/service-3.0.xml +55 -0
  95. data/resources/record_3.0/samples/read_samples/services-3.0.xml +106 -0
  96. data/resources/record_3.0/samples/read_samples/work-3.0.xml +65 -0
  97. data/resources/record_3.0/samples/read_samples/work-full-3.0.xml +65 -0
  98. data/resources/record_3.0/samples/read_samples/works-3.0.xml +148 -0
  99. data/resources/record_3.0/samples/write_samples/address-3.0.xml +6 -0
  100. data/resources/record_3.0/samples/write_samples/bulk-work-3.0.json +53 -0
  101. data/resources/record_3.0/samples/write_samples/bulk-work-3.0.xml +47 -0
  102. data/resources/record_3.0/samples/write_samples/distinction-3.0.xml +46 -0
  103. data/resources/record_3.0/samples/write_samples/education-3.0.xml +45 -0
  104. data/resources/record_3.0/samples/write_samples/employment-3.0.xml +45 -0
  105. data/resources/record_3.0/samples/write_samples/external-identifier-3.0.xml +11 -0
  106. data/resources/record_3.0/samples/write_samples/funding-3.0.xml +44 -0
  107. data/resources/record_3.0/samples/write_samples/invited-position-3.0.xml +45 -0
  108. data/resources/record_3.0/samples/write_samples/keyword-3.0.xml +7 -0
  109. data/resources/record_3.0/samples/write_samples/membership-3.0.xml +45 -0
  110. data/resources/record_3.0/samples/write_samples/other-name-3.0.xml +6 -0
  111. data/resources/record_3.0/samples/write_samples/peer-review-full-3.0.xml +48 -0
  112. data/resources/record_3.0/samples/write_samples/peer-review-full-award-subject-type-3.0.xml +48 -0
  113. data/resources/record_3.0/samples/write_samples/peer-review-simple-3.0.xml +32 -0
  114. data/resources/record_3.0/samples/write_samples/qualification-3.0.xml +45 -0
  115. data/resources/record_3.0/samples/write_samples/research-resource-3.0.xml +110 -0
  116. data/resources/record_3.0/samples/write_samples/researcher-url-3.0-no-name.xml +6 -0
  117. data/resources/record_3.0/samples/write_samples/researcher-url-3.0.xml +7 -0
  118. data/resources/record_3.0/samples/write_samples/service-3.0.xml +45 -0
  119. data/resources/record_3.0/samples/write_samples/work-full-3.0.xml +60 -0
  120. data/resources/record_3.0/samples/write_samples/work-simple-3.0.xml +18 -0
  121. data/resources/record_3.0/search-3.0.xsd +62 -0
  122. data/resources/record_3.0/service-3.0.xsd +51 -0
  123. data/resources/record_3.0/work-3.0.xsd +269 -0
  124. data/spec/api_spec.rb +2 -2
  125. data/spec/external_identifier_spec.rb +2 -2
  126. data/spec/fixtures/external_identifier.xml +1 -1
  127. data/spec/fixtures/vcr_cassettes/OrcidClient/works/get/should_get_works.yml +19 -10
  128. data/spec/fixtures/vcr_cassettes/OrcidClient/works/post/should_create_work.yml +52 -38
  129. data/spec/fixtures/vcr_cassettes/OrcidClient_Notification/data.yml +35 -28
  130. data/spec/fixtures/vcr_cassettes/OrcidClient_Notification/schema/validates_data.yml +34 -27
  131. data/spec/fixtures/vcr_cassettes/OrcidClient_Notification/schema/validates_item_type_work.yml +29 -37
  132. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/contributors/literal.yml +45 -32
  133. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/contributors/multiple_titles.yml +35 -28
  134. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/contributors/valid.yml +35 -28
  135. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/contributors/with_ORCID_IDs.yml +28 -22
  136. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/data.yml +34 -27
  137. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/publication_date.yml +35 -28
  138. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/schema/validates_ORCID_IDs_for_contributors.yml +29 -23
  139. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/schema/validates_data.yml +34 -27
  140. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/schema/validates_work_from_DataCite_test_system.yml +28 -22
  141. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/schema/validates_work_type_data-set.yml +29 -37
  142. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/user_example/fail/valid.yml +28 -22
  143. data/spec/fixtures/work.xml +1 -1
  144. data/spec/notification_spec.rb +2 -2
  145. data/spec/work_spec.rb +2 -2
  146. metadata +126 -6
@@ -0,0 +1,456 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
3
+ xmlns:sch="http://purl.oclc.org/dsdl/schematron" elementFormDefault="qualified"
4
+ targetNamespace="http://www.orcid.org/ns/activities"
5
+ xmlns:activities="http://www.orcid.org/ns/activities"
6
+ xmlns:common="http://www.orcid.org/ns/common"
7
+ xmlns:work="http://www.orcid.org/ns/work"
8
+ xmlns:funding="http://www.orcid.org/ns/funding"
9
+ xmlns:distinction="http://www.orcid.org/ns/distinction"
10
+ xmlns:education="http://www.orcid.org/ns/education"
11
+ xmlns:employment="http://www.orcid.org/ns/employment"
12
+ xmlns:invited-position="http://www.orcid.org/ns/invited-position"
13
+ xmlns:membership="http://www.orcid.org/ns/membership"
14
+ xmlns:peer-review="http://www.orcid.org/ns/peer-review"
15
+ xmlns:qualification="http://www.orcid.org/ns/qualification"
16
+ xmlns:service="http://www.orcid.org/ns/service"
17
+ xmlns:research-resource="http://www.orcid.org/ns/research-resource">
18
+ <xs:annotation>
19
+ <xs:documentation>
20
+ =============================================================================
21
+
22
+ ORCID (R) Open Source
23
+ http://orcid.org
24
+
25
+ Copyright (c) 2012-2018 ORCID,
26
+ Inc.
27
+ Licensed under an MIT-Style License (MIT)
28
+ http://orcid.org/open-source-license
29
+
30
+ This copyright and license
31
+ information (including a link to the full
32
+ license)
33
+ shall be included in
34
+ its entirety in all copies or substantial portion of
35
+ the software.
36
+
37
+ =============================================================================
38
+ The schema describes the message format used for ORCID API requests
39
+ and responses.
40
+ The top level element is orcid-message.
41
+ </xs:documentation>
42
+ <xs:appinfo>
43
+ <sch:title>Schematron validation</sch:title>
44
+ <sch:ns prefix="orcid" uri="http://www.orcid.org/ns/orcid" />
45
+ </xs:appinfo>
46
+ </xs:annotation>
47
+
48
+ <xs:import namespace="http://www.orcid.org/ns/common"
49
+ schemaLocation="../common_3.0/common-3.0.xsd" />
50
+ <xs:import namespace="http://www.orcid.org/ns/employment"
51
+ schemaLocation="employment-3.0.xsd" />
52
+ <xs:import namespace="http://www.orcid.org/ns/education"
53
+ schemaLocation="education-3.0.xsd" />
54
+ <xs:import namespace="http://www.orcid.org/ns/funding"
55
+ schemaLocation="funding-3.0.xsd" />
56
+ <xs:import namespace="http://www.orcid.org/ns/work"
57
+ schemaLocation="work-3.0.xsd" />
58
+ <xs:import namespace="http://www.orcid.org/ns/peer-review"
59
+ schemaLocation="peer-review-3.0.xsd" />
60
+ <xs:import namespace="http://www.orcid.org/ns/distinction"
61
+ schemaLocation="distinction-3.0.xsd" />
62
+ <xs:import namespace="http://www.orcid.org/ns/invited-position"
63
+ schemaLocation="invited-position-3.0.xsd" />
64
+ <xs:import namespace="http://www.orcid.org/ns/membership"
65
+ schemaLocation="membership-3.0.xsd" />
66
+ <xs:import namespace="http://www.orcid.org/ns/qualification"
67
+ schemaLocation="qualification-3.0.xsd" />
68
+ <xs:import namespace="http://www.orcid.org/ns/service"
69
+ schemaLocation="service-3.0.xsd" />
70
+ <xs:import namespace="http://www.orcid.org/ns/research-resource"
71
+ schemaLocation="research-resource-3.0.xsd" />
72
+
73
+ <xs:element name="activities-summary">
74
+ <xs:complexType>
75
+ <xs:sequence>
76
+ <xs:element ref="common:last-modified-date" minOccurs="0" maxOccurs="1" />
77
+
78
+ <xs:element name="distinctions" type="activities:distinctions" minOccurs="0" maxOccurs="1">
79
+ <xs:annotation>
80
+ <xs:documentation>Container for the list of distinctions associated
81
+ with the researcher or contributor
82
+ </xs:documentation>
83
+ </xs:annotation>
84
+ </xs:element>
85
+
86
+ <xs:element name="educations" type="activities:educations" minOccurs="0" maxOccurs="1">
87
+ <xs:annotation>
88
+ <xs:documentation>Container for the list of educations associated
89
+ with the researcher or contributor
90
+ </xs:documentation>
91
+ </xs:annotation>
92
+ </xs:element>
93
+
94
+ <xs:element name="employments" type="activities:employments" minOccurs="0" maxOccurs="1">
95
+ <xs:annotation>
96
+ <xs:documentation>Container for the list of employments associated
97
+ with the researcher or contributor
98
+ </xs:documentation>
99
+ </xs:annotation>
100
+ </xs:element>
101
+
102
+ <xs:element name="fundings" type="activities:fundings" minOccurs="0" maxOccurs="1">
103
+ <xs:annotation>
104
+ <xs:documentation>Container for the funding received by the
105
+ researcher or contributor
106
+ </xs:documentation>
107
+ </xs:annotation>
108
+ </xs:element>
109
+
110
+ <xs:element name="invited-positions" type="activities:invited-positions" minOccurs="0" maxOccurs="1">
111
+ <xs:annotation>
112
+ <xs:documentation>Container for the list of invited-positions associated
113
+ with the researcher or contributor
114
+ </xs:documentation>
115
+ </xs:annotation>
116
+ </xs:element>
117
+
118
+ <xs:element name="memberships" type="activities:memberships" minOccurs="0" maxOccurs="1">
119
+ <xs:annotation>
120
+ <xs:documentation>Container for the list of memberships associated
121
+ with the researcher or contributor
122
+ </xs:documentation>
123
+ </xs:annotation>
124
+ </xs:element>
125
+
126
+ <xs:element name="peer-reviews" type="activities:peer-reviews" minOccurs="0" maxOccurs="1">
127
+ <xs:annotation>
128
+ <xs:documentation>Container for the funding received by the
129
+ researcher or contributor
130
+ </xs:documentation>
131
+ </xs:annotation>
132
+ </xs:element>
133
+
134
+ <xs:element name="qualifications" type="activities:qualifications" minOccurs="0" maxOccurs="1">
135
+ <xs:annotation>
136
+ <xs:documentation>Container for the list of qualifications associated
137
+ with the researcher or contributor
138
+ </xs:documentation>
139
+ </xs:annotation>
140
+ </xs:element>
141
+
142
+ <xs:element name="research-resources" type="activities:research-resources" minOccurs="0" maxOccurs="1">
143
+ <xs:annotation>
144
+ <xs:documentation>Container for the list of research resources associated
145
+ with the researcher or contributor
146
+ </xs:documentation>
147
+ </xs:annotation>
148
+ </xs:element>
149
+
150
+ <xs:element name="services" type="activities:services" minOccurs="0" maxOccurs="1">
151
+ <xs:annotation>
152
+ <xs:documentation>Container for the list of services associated
153
+ with the researcher or contributor
154
+ </xs:documentation>
155
+ </xs:annotation>
156
+ </xs:element>
157
+
158
+ <xs:element name="works" type="activities:works" minOccurs="0" maxOccurs="1">
159
+ <xs:annotation>
160
+ <xs:documentation>Container for the research outputs of the
161
+ researcher
162
+ or contributor.
163
+ </xs:documentation>
164
+ </xs:annotation>
165
+ </xs:element>
166
+ </xs:sequence>
167
+ <xs:attribute name="path" type="common:element-path" use="optional" />
168
+ </xs:complexType>
169
+ </xs:element>
170
+
171
+ <xs:complexType name="research-resource-group">
172
+ <xs:sequence>
173
+ <xs:element ref="common:last-modified-date" minOccurs="0" maxOccurs="1" />
174
+ <xs:element ref="common:external-ids"></xs:element>
175
+ <xs:sequence>
176
+ <xs:element maxOccurs="unbounded" minOccurs="0"
177
+ ref="research-resource:research-resource-summary" />
178
+ </xs:sequence>
179
+ </xs:sequence>
180
+ </xs:complexType>
181
+
182
+ <xs:complexType name="research-resources">
183
+ <xs:sequence>
184
+ <xs:element ref="common:last-modified-date" minOccurs="0" maxOccurs="1" />
185
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="group" type="activities:research-resource-group" />
186
+ </xs:sequence>
187
+ <xs:attribute name="path" type="common:element-path" use="optional" />
188
+ </xs:complexType>
189
+
190
+ <xs:element name="research-resources">
191
+ <xs:complexType>
192
+ <xs:complexContent>
193
+ <xs:extension base="activities:research-resources" />
194
+ </xs:complexContent>
195
+ </xs:complexType>
196
+ </xs:element>
197
+
198
+ <xs:complexType name="distinctions">
199
+ <xs:sequence>
200
+ <xs:element ref="common:last-modified-date" minOccurs="0" maxOccurs="1" />
201
+ <xs:element maxOccurs="unbounded" minOccurs="0"
202
+ ref="activities:affiliation-group" />
203
+ </xs:sequence>
204
+ <xs:attribute name="path" type="common:element-path" use="optional" />
205
+ </xs:complexType>
206
+
207
+ <xs:element name="distinctions">
208
+ <xs:complexType>
209
+ <xs:complexContent>
210
+ <xs:extension base="activities:distinctions" />
211
+ </xs:complexContent>
212
+ </xs:complexType>
213
+ </xs:element>
214
+
215
+ <xs:complexType name="educations">
216
+ <xs:sequence>
217
+ <xs:element ref="common:last-modified-date" minOccurs="0" maxOccurs="1" />
218
+ <xs:element maxOccurs="unbounded" minOccurs="0"
219
+ ref="activities:affiliation-group" />
220
+ </xs:sequence>
221
+ <xs:attribute name="path" type="common:element-path" use="optional" />
222
+ </xs:complexType>
223
+
224
+ <xs:element name="educations">
225
+ <xs:complexType>
226
+ <xs:complexContent>
227
+ <xs:extension base="activities:educations" />
228
+ </xs:complexContent>
229
+ </xs:complexType>
230
+ </xs:element>
231
+
232
+ <xs:complexType name="employments">
233
+ <xs:sequence>
234
+ <xs:element ref="common:last-modified-date" minOccurs="0" maxOccurs="1" />
235
+ <xs:element maxOccurs="unbounded" minOccurs="0"
236
+ ref="activities:affiliation-group" />
237
+ </xs:sequence>
238
+ <xs:attribute name="path" type="common:element-path" use="optional" />
239
+ </xs:complexType>
240
+
241
+ <xs:element name="employments">
242
+ <xs:complexType>
243
+ <xs:complexContent>
244
+ <xs:extension base="activities:employments" />
245
+ </xs:complexContent>
246
+ </xs:complexType>
247
+ </xs:element>
248
+
249
+ <xs:complexType name="invited-positions">
250
+ <xs:sequence>
251
+ <xs:element ref="common:last-modified-date" minOccurs="0" maxOccurs="1" />
252
+ <xs:element maxOccurs="unbounded" minOccurs="0"
253
+ ref="activities:affiliation-group" />
254
+ </xs:sequence>
255
+ <xs:attribute name="path" type="common:element-path" use="optional" />
256
+ </xs:complexType>
257
+
258
+ <xs:element name="invited-positions">
259
+ <xs:complexType>
260
+ <xs:complexContent>
261
+ <xs:extension base="activities:invited-positions" />
262
+ </xs:complexContent>
263
+ </xs:complexType>
264
+ </xs:element>
265
+
266
+ <xs:complexType name="funding-group">
267
+ <xs:sequence>
268
+ <xs:element ref="common:last-modified-date" minOccurs="0" maxOccurs="1" />
269
+ <xs:element ref="common:external-ids"></xs:element>
270
+ <xs:sequence>
271
+ <xs:element maxOccurs="unbounded" minOccurs="0"
272
+ ref="funding:funding-summary" />
273
+ </xs:sequence>
274
+ </xs:sequence>
275
+ </xs:complexType>
276
+
277
+ <xs:complexType name="fundings">
278
+ <xs:sequence>
279
+ <xs:element ref="common:last-modified-date" minOccurs="0" maxOccurs="1" />
280
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="group"
281
+ type="activities:funding-group" />
282
+ </xs:sequence>
283
+ <xs:attribute name="path" type="common:element-path" use="optional" />
284
+ </xs:complexType>
285
+
286
+ <xs:element name="fundings">
287
+ <xs:complexType>
288
+ <xs:complexContent>
289
+ <xs:extension base="activities:fundings" />
290
+ </xs:complexContent>
291
+ </xs:complexType>
292
+ </xs:element>
293
+
294
+ <xs:complexType name="memberships">
295
+ <xs:sequence>
296
+ <xs:element ref="common:last-modified-date" minOccurs="0" maxOccurs="1" />
297
+ <xs:element maxOccurs="unbounded" minOccurs="0"
298
+ ref="activities:affiliation-group" />
299
+ </xs:sequence>
300
+ <xs:attribute name="path" type="common:element-path" use="optional" />
301
+ </xs:complexType>
302
+
303
+ <xs:element name="memberships">
304
+ <xs:complexType>
305
+ <xs:complexContent>
306
+ <xs:extension base="activities:memberships" />
307
+ </xs:complexContent>
308
+ </xs:complexType>
309
+ </xs:element>
310
+
311
+ <xs:complexType name="peer-review-duplicates">
312
+ <xs:sequence>
313
+ <xs:element ref="common:last-modified-date" minOccurs="0" maxOccurs="1" />
314
+ <xs:element ref="common:external-ids"></xs:element>
315
+ <xs:sequence>
316
+ <xs:element maxOccurs="unbounded" minOccurs="0"
317
+ ref="peer-review:peer-review-summary" />
318
+ </xs:sequence>
319
+ </xs:sequence>
320
+ </xs:complexType>
321
+
322
+ <xs:complexType name="peer-review-group">
323
+ <xs:sequence>
324
+ <xs:element ref="common:last-modified-date" minOccurs="0" maxOccurs="1" />
325
+ <xs:element ref="common:external-ids"></xs:element>
326
+ <xs:sequence>
327
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="peer-review-group"
328
+ type="activities:peer-review-duplicates" />
329
+ </xs:sequence>
330
+ </xs:sequence>
331
+ </xs:complexType>
332
+
333
+ <xs:complexType name="peer-reviews">
334
+ <xs:sequence>
335
+ <xs:element ref="common:last-modified-date" minOccurs="0" maxOccurs="1" />
336
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="group"
337
+ type="activities:peer-review-group" />
338
+ </xs:sequence>
339
+ <xs:attribute name="path" type="common:element-path" use="optional" />
340
+ </xs:complexType>
341
+
342
+ <xs:element name="peer-reviews">
343
+ <xs:complexType>
344
+ <xs:complexContent>
345
+ <xs:extension base="activities:peer-reviews" />
346
+ </xs:complexContent>
347
+ </xs:complexType>
348
+ </xs:element>
349
+
350
+ <xs:complexType name="qualifications">
351
+ <xs:sequence>
352
+ <xs:element ref="common:last-modified-date" minOccurs="0" maxOccurs="1" />
353
+ <xs:element maxOccurs="unbounded" minOccurs="0"
354
+ ref="activities:affiliation-group" />
355
+ </xs:sequence>
356
+ <xs:attribute name="path" type="common:element-path" use="optional" />
357
+ </xs:complexType>
358
+
359
+ <xs:element name="qualifications">
360
+ <xs:complexType>
361
+ <xs:complexContent>
362
+ <xs:extension base="activities:qualifications" />
363
+ </xs:complexContent>
364
+ </xs:complexType>
365
+ </xs:element>
366
+
367
+ <xs:complexType name="services">
368
+ <xs:sequence>
369
+ <xs:element ref="common:last-modified-date" minOccurs="0" maxOccurs="1" />
370
+ <xs:element maxOccurs="unbounded" minOccurs="0"
371
+ ref="activities:affiliation-group" />
372
+ </xs:sequence>
373
+ <xs:attribute name="path" type="common:element-path" use="optional" />
374
+ </xs:complexType>
375
+
376
+ <xs:element name="services">
377
+ <xs:complexType>
378
+ <xs:complexContent>
379
+ <xs:extension base="activities:services" />
380
+ </xs:complexContent>
381
+ </xs:complexType>
382
+ </xs:element>
383
+
384
+ <xs:complexType name="affiliation-group">
385
+ <xs:sequence>
386
+ <xs:element ref="common:last-modified-date" minOccurs="0" maxOccurs="1" />
387
+ <xs:element ref="common:external-ids"></xs:element>
388
+ <xs:choice>
389
+ <xs:sequence>
390
+ <xs:element maxOccurs="unbounded" minOccurs="0"
391
+ ref="distinction:distinction-summary" />
392
+ </xs:sequence>
393
+ <xs:sequence>
394
+ <xs:element maxOccurs="unbounded" minOccurs="0"
395
+ ref="invited-position:invited-position-summary" />
396
+ </xs:sequence>
397
+ <xs:sequence>
398
+ <xs:element maxOccurs="unbounded" minOccurs="0"
399
+ ref="education:education-summary" />
400
+ </xs:sequence>
401
+ <xs:sequence>
402
+ <xs:element maxOccurs="unbounded" minOccurs="0"
403
+ ref="employment:employment-summary" />
404
+ </xs:sequence>
405
+ <xs:sequence>
406
+ <xs:element maxOccurs="unbounded" minOccurs="0"
407
+ ref="membership:membership-summary" />
408
+ </xs:sequence>
409
+ <xs:sequence>
410
+ <xs:element maxOccurs="unbounded" minOccurs="0"
411
+ ref="qualification:qualification-summary" />
412
+ </xs:sequence>
413
+ <xs:sequence>
414
+ <xs:element maxOccurs="unbounded" minOccurs="0"
415
+ ref="service:service-summary" />
416
+ </xs:sequence>
417
+ </xs:choice>
418
+ </xs:sequence>
419
+ </xs:complexType>
420
+
421
+ <xs:element name="affiliation-group">
422
+ <xs:complexType>
423
+ <xs:complexContent>
424
+ <xs:extension base="activities:affiliation-group" />
425
+ </xs:complexContent>
426
+ </xs:complexType>
427
+ </xs:element>
428
+
429
+ <xs:complexType name="work-group">
430
+ <xs:sequence>
431
+ <xs:element ref="common:last-modified-date" minOccurs="0" maxOccurs="1" />
432
+ <xs:element ref="common:external-ids"></xs:element>
433
+ <xs:sequence>
434
+ <xs:element maxOccurs="unbounded" minOccurs="0"
435
+ ref="work:work-summary" />
436
+ </xs:sequence>
437
+ </xs:sequence>
438
+ </xs:complexType>
439
+
440
+ <xs:complexType name="works">
441
+ <xs:sequence>
442
+ <xs:element ref="common:last-modified-date" minOccurs="0" maxOccurs="1" />
443
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="group"
444
+ type="activities:work-group" />
445
+ </xs:sequence>
446
+ <xs:attribute name="path" type="common:element-path" use="optional" />
447
+ </xs:complexType>
448
+
449
+ <xs:element name="works">
450
+ <xs:complexType>
451
+ <xs:complexContent>
452
+ <xs:extension base="activities:works" />
453
+ </xs:complexContent>
454
+ </xs:complexType>
455
+ </xs:element>
456
+ </xs:schema>