orcid_client 0.8 → 0.9.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (152) 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 +48 -0
  5. data/CHANGELOG.md +169 -0
  6. data/Gemfile.lock +135 -117
  7. data/README.md +6 -6
  8. data/lib/orcid_client/api.rb +2 -1
  9. data/lib/orcid_client/base.rb +1 -1
  10. data/lib/orcid_client/external_identifier.rb +1 -1
  11. data/lib/orcid_client/version.rb +1 -1
  12. data/lib/orcid_client/work.rb +8 -5
  13. data/orcid_client.gemspec +3 -4
  14. data/resources/README.md +48 -43
  15. data/resources/common_3.0/common-3.0.xsd +998 -0
  16. data/resources/common_3.0/samples/common-3.0.xml +8 -0
  17. data/resources/common_3.0/samples/common-3.0_external-identifier.xml +11 -0
  18. data/resources/notification_3.0/README.md +130 -0
  19. data/resources/notification_3.0/images/notification-intro.jpg +0 -0
  20. data/resources/notification_3.0/images/notification-subject.jpg +0 -0
  21. data/resources/notification_3.0/notification-custom-3.0.xsd +38 -0
  22. data/resources/notification_3.0/notification-permission-3.0.xsd +134 -0
  23. data/resources/notification_3.0/samples/notification-custom-3.0.xml +27 -0
  24. data/resources/notification_3.0/samples/notification-permission-3.0.xml +58 -0
  25. data/resources/record_3.0/README.md +408 -0
  26. data/resources/record_3.0/activities-3.0.xsd +456 -0
  27. data/resources/record_3.0/address-3.0.xsd +73 -0
  28. data/resources/record_3.0/bulk-3.0.xsd +57 -0
  29. data/resources/record_3.0/distinction-3.0.xsd +51 -0
  30. data/resources/record_3.0/education-3.0.xsd +51 -0
  31. data/resources/record_3.0/email-3.0.xsd +76 -0
  32. data/resources/record_3.0/employment-3.0.xsd +51 -0
  33. data/resources/record_3.0/error-3.0.xsd +84 -0
  34. data/resources/record_3.0/expanded-search-3.0.xsd +114 -0
  35. data/resources/record_3.0/funding-3.0.xsd +204 -0
  36. data/resources/record_3.0/history-3.0.xsd +185 -0
  37. data/resources/record_3.0/invited-position-3.0.xsd +50 -0
  38. data/resources/record_3.0/keyword-3.0.xsd +72 -0
  39. data/resources/record_3.0/membership-3.0.xsd +51 -0
  40. data/resources/record_3.0/other-name-3.0.xsd +78 -0
  41. data/resources/record_3.0/peer-review-3.0.xsd +263 -0
  42. data/resources/record_3.0/person-3.0.xsd +85 -0
  43. data/resources/record_3.0/person-external-identifier-3.0.xsd +63 -0
  44. data/resources/record_3.0/personal-details-3.0.xsd +162 -0
  45. data/resources/record_3.0/preferences-3.0.xsd +50 -0
  46. data/resources/record_3.0/qualification-3.0.xsd +50 -0
  47. data/resources/record_3.0/record-3.0.xsd +91 -0
  48. data/resources/record_3.0/research-resource-3.0.xsd +144 -0
  49. data/resources/record_3.0/researcher-url-3.0.xsd +86 -0
  50. data/resources/record_3.0/samples/read_samples/activities-3.0.xml +742 -0
  51. data/resources/record_3.0/samples/read_samples/address-3.0.xml +16 -0
  52. data/resources/record_3.0/samples/read_samples/addresses-3.0.xml +32 -0
  53. data/resources/record_3.0/samples/read_samples/biography-3.0.xml +10 -0
  54. data/resources/record_3.0/samples/read_samples/bulk-work-err.xml +45 -0
  55. data/resources/record_3.0/samples/read_samples/credit-name-3.0.xml +5 -0
  56. data/resources/record_3.0/samples/read_samples/distinction-3.0.xml +55 -0
  57. data/resources/record_3.0/samples/read_samples/distinctions-3.0.xml +106 -0
  58. data/resources/record_3.0/samples/read_samples/education-3.0.xml +55 -0
  59. data/resources/record_3.0/samples/read_samples/education-full-3.0.xml +55 -0
  60. data/resources/record_3.0/samples/read_samples/educations-3.0.xml +118 -0
  61. data/resources/record_3.0/samples/read_samples/email-3.0.xml +16 -0
  62. data/resources/record_3.0/samples/read_samples/emails-3.0.xml +31 -0
  63. data/resources/record_3.0/samples/read_samples/employment-3.0.xml +55 -0
  64. data/resources/record_3.0/samples/read_samples/employment-full-3.0.xml +55 -0
  65. data/resources/record_3.0/samples/read_samples/employments-3.0.xml +108 -0
  66. data/resources/record_3.0/samples/read_samples/error-3.0.xml +8 -0
  67. data/resources/record_3.0/samples/read_samples/external-identifier-3.0.xml +21 -0
  68. data/resources/record_3.0/samples/read_samples/external-identifiers-3.0.xml +38 -0
  69. data/resources/record_3.0/samples/read_samples/full-record-3.0.json +2332 -0
  70. data/resources/record_3.0/samples/read_samples/funding-3.0.xml +75 -0
  71. data/resources/record_3.0/samples/read_samples/funding-full-3.0.xml +75 -0
  72. data/resources/record_3.0/samples/read_samples/fundings-3.0.xml +139 -0
  73. data/resources/record_3.0/samples/read_samples/history-3.0.xml +22 -0
  74. data/resources/record_3.0/samples/read_samples/invited-position-3.0.xml +55 -0
  75. data/resources/record_3.0/samples/read_samples/invited-positions-3.0.xml +106 -0
  76. data/resources/record_3.0/samples/read_samples/keyword-3.0.xml +18 -0
  77. data/resources/record_3.0/samples/read_samples/keywords-3.0.xml +34 -0
  78. data/resources/record_3.0/samples/read_samples/membership-3.0.xml +55 -0
  79. data/resources/record_3.0/samples/read_samples/memberships-3.0.xml +106 -0
  80. data/resources/record_3.0/samples/read_samples/name-3.0.xml +12 -0
  81. data/resources/record_3.0/samples/read_samples/other-name-3.0.xml +16 -0
  82. data/resources/record_3.0/samples/read_samples/other-names-3.0.xml +31 -0
  83. data/resources/record_3.0/samples/read_samples/peer-review-3.0.xml +59 -0
  84. data/resources/record_3.0/samples/read_samples/peer-review-full-3.0.xml +59 -0
  85. data/resources/record_3.0/samples/read_samples/peer-reviews-3.0.xml +76 -0
  86. data/resources/record_3.0/samples/read_samples/person-3.0.xml +122 -0
  87. data/resources/record_3.0/samples/read_samples/personal-details-3.0.xml +47 -0
  88. data/resources/record_3.0/samples/read_samples/preferences-3.0.xml +4 -0
  89. data/resources/record_3.0/samples/read_samples/qualification-3.0.xml +55 -0
  90. data/resources/record_3.0/samples/read_samples/qualifications-3.0.xml +106 -0
  91. data/resources/record_3.0/samples/read_samples/record-3.0.xml +770 -0
  92. data/resources/record_3.0/samples/read_samples/research-resource-3.0.xml +138 -0
  93. data/resources/record_3.0/samples/read_samples/research-resources-3.0.xml +143 -0
  94. data/resources/record_3.0/samples/read_samples/researcher-url-3.0.xml +19 -0
  95. data/resources/record_3.0/samples/read_samples/researcher-urls-3.0.xml +21 -0
  96. data/resources/record_3.0/samples/read_samples/search-3.0.xml +14 -0
  97. data/resources/record_3.0/samples/read_samples/service-3.0.xml +55 -0
  98. data/resources/record_3.0/samples/read_samples/services-3.0.xml +106 -0
  99. data/resources/record_3.0/samples/read_samples/work-3.0.xml +65 -0
  100. data/resources/record_3.0/samples/read_samples/work-full-3.0.xml +65 -0
  101. data/resources/record_3.0/samples/read_samples/works-3.0.xml +148 -0
  102. data/resources/record_3.0/samples/write_samples/address-3.0.xml +6 -0
  103. data/resources/record_3.0/samples/write_samples/bulk-work-3.0.json +53 -0
  104. data/resources/record_3.0/samples/write_samples/bulk-work-3.0.xml +47 -0
  105. data/resources/record_3.0/samples/write_samples/distinction-3.0.xml +46 -0
  106. data/resources/record_3.0/samples/write_samples/education-3.0.xml +45 -0
  107. data/resources/record_3.0/samples/write_samples/employment-3.0.xml +45 -0
  108. data/resources/record_3.0/samples/write_samples/external-identifier-3.0.xml +11 -0
  109. data/resources/record_3.0/samples/write_samples/funding-3.0.xml +44 -0
  110. data/resources/record_3.0/samples/write_samples/invited-position-3.0.xml +45 -0
  111. data/resources/record_3.0/samples/write_samples/keyword-3.0.xml +7 -0
  112. data/resources/record_3.0/samples/write_samples/membership-3.0.xml +45 -0
  113. data/resources/record_3.0/samples/write_samples/other-name-3.0.xml +6 -0
  114. data/resources/record_3.0/samples/write_samples/peer-review-full-3.0.xml +48 -0
  115. data/resources/record_3.0/samples/write_samples/peer-review-full-award-subject-type-3.0.xml +48 -0
  116. data/resources/record_3.0/samples/write_samples/peer-review-simple-3.0.xml +32 -0
  117. data/resources/record_3.0/samples/write_samples/qualification-3.0.xml +45 -0
  118. data/resources/record_3.0/samples/write_samples/research-resource-3.0.xml +110 -0
  119. data/resources/record_3.0/samples/write_samples/researcher-url-3.0-no-name.xml +6 -0
  120. data/resources/record_3.0/samples/write_samples/researcher-url-3.0.xml +7 -0
  121. data/resources/record_3.0/samples/write_samples/service-3.0.xml +45 -0
  122. data/resources/record_3.0/samples/write_samples/work-full-3.0.xml +60 -0
  123. data/resources/record_3.0/samples/write_samples/work-simple-3.0.xml +18 -0
  124. data/resources/record_3.0/search-3.0.xsd +62 -0
  125. data/resources/record_3.0/service-3.0.xsd +51 -0
  126. data/resources/record_3.0/work-3.0.xsd +269 -0
  127. data/spec/api_spec.rb +3 -3
  128. data/spec/author_spec.rb +1 -1
  129. data/spec/external_identifier_spec.rb +2 -2
  130. data/spec/fixtures/external_identifier.xml +1 -1
  131. data/spec/fixtures/vcr_cassettes/OrcidClient/works/get/should_get_works.yml +23 -10
  132. data/spec/fixtures/vcr_cassettes/OrcidClient/works/post/should_create_work.yml +71 -74
  133. data/spec/fixtures/vcr_cassettes/OrcidClient_Notification/data.yml +43 -55
  134. data/spec/fixtures/vcr_cassettes/OrcidClient_Notification/schema/validates_data.yml +43 -55
  135. data/spec/fixtures/vcr_cassettes/OrcidClient_Notification/schema/validates_item_type_work.yml +39 -44
  136. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/contributors/literal.yml +43 -51
  137. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/contributors/valid.yml +40 -48
  138. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/contributors/with_ORCID_IDs.yml +39 -30
  139. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/data.yml +41 -49
  140. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/publication_date.yml +40 -48
  141. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/schema/validates_ORCID_IDs_for_contributors.yml +40 -31
  142. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/schema/validates_data.yml +40 -48
  143. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/schema/validates_work_from_DataCite_staging_system.yml +104 -0
  144. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/schema/validates_work_type_data-set.yml +40 -45
  145. data/spec/fixtures/work.xml +12 -16
  146. data/spec/notification_spec.rb +11 -10
  147. data/spec/work_spec.rb +26 -63
  148. metadata +133 -30
  149. data/.travis.yml +0 -17
  150. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/contributors/multiple_titles.yml +0 -102
  151. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/schema/validates_work_from_DataCite_test_system.yml +0 -95
  152. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/user_example/fail/valid.yml +0 -95
@@ -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>
@@ -0,0 +1,73 @@
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/address" xmlns:address="http://www.orcid.org/ns/address"
5
+ xmlns:common="http://www.orcid.org/ns/common">
6
+ <xs:annotation>
7
+ <xs:documentation>
8
+ =============================================================================
9
+
10
+ ORCID (R) Open Source
11
+ http://orcid.org
12
+
13
+ Copyright (c) 2012-2018 ORCID,
14
+ Inc.
15
+ Licensed under an MIT-Style License (MIT)
16
+ http://orcid.org/open-source-license
17
+
18
+ This copyright and license
19
+ information (including a link to the full
20
+ license)
21
+ shall be included in
22
+ its entirety in all copies or substantial portion of
23
+ the software.
24
+
25
+ =============================================================================
26
+ The schema describes the message format used for ORCID API requests
27
+ and responses.
28
+ </xs:documentation>
29
+ <xs:appinfo>
30
+ <sch:title>Schematron validation</sch:title>
31
+ <sch:ns prefix="address" uri="http://www.orcid.org/ns/address" />
32
+ </xs:appinfo>
33
+ </xs:annotation>
34
+ <xs:import namespace="http://www.orcid.org/ns/common"
35
+ schemaLocation="../common_3.0/common-3.0.xsd" />
36
+
37
+ <xs:element name="addresses">
38
+ <xs:annotation>
39
+ <xs:documentation>Addresses container</xs:documentation>
40
+ </xs:annotation>
41
+ <xs:complexType>
42
+ <xs:sequence>
43
+ <xs:element ref="common:last-modified-date" minOccurs="0" maxOccurs="1" />
44
+ <xs:element name="address" type="address:address" minOccurs="0"
45
+ maxOccurs="unbounded" />
46
+ </xs:sequence>
47
+ <xs:attribute name="path" type="common:element-path" use="optional" />
48
+ </xs:complexType>
49
+ </xs:element>
50
+
51
+ <xs:element name="address">
52
+ <xs:annotation>
53
+ <xs:documentation>Address element
54
+ </xs:documentation>
55
+ </xs:annotation>
56
+ <xs:complexType>
57
+ <xs:complexContent>
58
+ <xs:extension base="address:address"></xs:extension>
59
+ </xs:complexContent>
60
+ </xs:complexType>
61
+ </xs:element>
62
+
63
+
64
+ <xs:complexType name="address">
65
+ <xs:complexContent>
66
+ <xs:extension base="common:element-summary">
67
+ <xs:sequence>
68
+ <xs:element name="country" type="common:iso-3166-country-or-empty" />
69
+ </xs:sequence>
70
+ </xs:extension>
71
+ </xs:complexContent>
72
+ </xs:complexType>
73
+ </xs:schema>
@@ -0,0 +1,57 @@
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/bulk"
5
+ xmlns:bulk="http://www.orcid.org/ns/bulk"
6
+ xmlns:work="http://www.orcid.org/ns/work"
7
+ xmlns:error="http://www.orcid.org/ns/error">
8
+ <xs:annotation>
9
+ <xs:documentation>
10
+ =============================================================================
11
+
12
+ ORCID (R) Open Source
13
+ http://orcid.org
14
+
15
+ Copyright (c) 2012-2018 ORCID,
16
+ Inc.
17
+ Licensed under an MIT-Style License (MIT)
18
+ http://orcid.org/open-source-license
19
+
20
+ This copyright and license
21
+ information (including a link to the full
22
+ license)
23
+ shall be included in
24
+ its entirety in all copies or substantial portion of
25
+ the software.
26
+
27
+ =============================================================================
28
+ The schema describes the message format used for ORCID API requests
29
+ and responses.
30
+ The top level element is orcid-message.
31
+ </xs:documentation>
32
+ <xs:appinfo>
33
+ <sch:title>Schematron validation</sch:title>
34
+ <sch:ns prefix="bulk" uri="http://www.orcid.org/ns/bulk" />
35
+ </xs:appinfo>
36
+ </xs:annotation>
37
+
38
+ <xs:import namespace="http://www.orcid.org/ns/error"
39
+ schemaLocation="error-3.0.xsd" />
40
+
41
+ <xs:import namespace="http://www.orcid.org/ns/work"
42
+ schemaLocation="work-3.0.xsd" />
43
+
44
+ <xs:element name="bulk">
45
+ <xs:complexType>
46
+ <xs:annotation>
47
+ <xs:documentation>Utilitary schema that allow the creation of multiple works in a single request</xs:documentation>
48
+ </xs:annotation>
49
+ <xs:sequence maxOccurs="unbounded">
50
+ <xs:choice>
51
+ <xs:element minOccurs="0" ref="work:work" />
52
+ <xs:element minOccurs="0" ref="error:error" />
53
+ </xs:choice>
54
+ </xs:sequence>
55
+ </xs:complexType>
56
+ </xs:element>
57
+ </xs:schema>
@@ -0,0 +1,51 @@
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/distinction" xmlns:distinction="http://www.orcid.org/ns/distinction"
5
+ xmlns:common="http://www.orcid.org/ns/common">
6
+ <xs:annotation>
7
+ <xs:documentation>
8
+ =============================================================================
9
+
10
+ ORCID (R) Open Source
11
+ http://orcid.org
12
+
13
+ Copyright (c) 2012-2018 ORCID,
14
+ Inc.
15
+ Licensed under an MIT-Style License (MIT)
16
+ http://orcid.org/open-source-license
17
+
18
+ This copyright and license
19
+ information (including a link to the full
20
+ license)
21
+ shall be included in
22
+ its entirety in all copies or substantial portion of
23
+ the software.
24
+
25
+ =============================================================================
26
+ The schema describes the message format used for ORCID API requests
27
+ and responses.
28
+ </xs:documentation>
29
+ <xs:appinfo>
30
+ <sch:title>Schematron validation</sch:title>
31
+ <sch:ns prefix="orcid" uri="http://www.orcid.org/ns/orcid" />
32
+ </xs:appinfo>
33
+ </xs:annotation>
34
+
35
+ <xs:import namespace="http://www.orcid.org/ns/common"
36
+ schemaLocation="../common_3.0/common-3.0.xsd" />
37
+
38
+ <xs:element name="distinction" type="common:affiliation">
39
+ <xs:annotation>
40
+ <xs:documentation>A distinction associated with or given to the researcher or contributor.
41
+ Distinction is defined as honorary and other awards, distinctions, and prizes made by an organization in recognition of an individual’s academic or other achievements.
42
+ * The put-code attribute is returned when reading this element.
43
+ When updating the item, the put-code attribute
44
+ must be included to indicate the specific item to be updated.
45
+ </xs:documentation>
46
+ </xs:annotation>
47
+ </xs:element>
48
+
49
+ <xs:element name="distinction-summary" type="common:affiliation-summary" />
50
+
51
+ </xs:schema>