orcid_client 0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (110) hide show
  1. checksums.yaml +7 -0
  2. data/.env.example +10 -0
  3. data/.gitignore +42 -0
  4. data/.travis.yml +17 -0
  5. data/CHANGELOG.md +0 -0
  6. data/Gemfile +4 -0
  7. data/Gemfile.lock +115 -0
  8. data/LICENSE.md +21 -0
  9. data/README.md +45 -0
  10. data/Rakefile +5 -0
  11. data/lib/orcid_client.rb +3 -0
  12. data/lib/orcid_client/api.rb +75 -0
  13. data/lib/orcid_client/author.rb +56 -0
  14. data/lib/orcid_client/base.rb +21 -0
  15. data/lib/orcid_client/date.rb +61 -0
  16. data/lib/orcid_client/metadata.rb +128 -0
  17. data/lib/orcid_client/notification.rb +125 -0
  18. data/lib/orcid_client/version.rb +3 -0
  19. data/lib/orcid_client/work.rb +200 -0
  20. data/lib/orcid_client/work_type.rb +68 -0
  21. data/orcid_client.gemspec +37 -0
  22. data/resources/common_2.0_rc3/common-2.0_rc3.xsd +1624 -0
  23. data/resources/common_2.0_rc3/samples/common-2.0_rc3.xml +8 -0
  24. data/resources/notification_2.0_rc3/notification-custom-2.0_rc3.xsd +32 -0
  25. data/resources/notification_2.0_rc3/notification-permission-2.0_rc3.xsd +128 -0
  26. data/resources/notification_2.0_rc3/samples/notification-custom-2.0_rc3.xml +45 -0
  27. data/resources/notification_2.0_rc3/samples/notification-permission-2.0_rc3.xml +58 -0
  28. data/resources/record_2.0_rc3/activities-2.0_rc3.xsd +187 -0
  29. data/resources/record_2.0_rc3/address-2.0_rc3.xsd +73 -0
  30. data/resources/record_2.0_rc3/bulk-2.0_rc3.xsd +57 -0
  31. data/resources/record_2.0_rc3/deprecated-2.0_rc3.xsd +80 -0
  32. data/resources/record_2.0_rc3/education-2.0_rc3.xsd +96 -0
  33. data/resources/record_2.0_rc3/email-2.0_rc3.xsd +74 -0
  34. data/resources/record_2.0_rc3/employment-2.0_rc3.xsd +96 -0
  35. data/resources/record_2.0_rc3/error-2.0_rc3.xsd +84 -0
  36. data/resources/record_2.0_rc3/funding-2.0_rc3.xsd +257 -0
  37. data/resources/record_2.0_rc3/history-2.0_rc3.xsd +203 -0
  38. data/resources/record_2.0_rc3/internal-2.0_rc3.xsd +199 -0
  39. data/resources/record_2.0_rc3/keyword-2.0_rc3.xsd +72 -0
  40. data/resources/record_2.0_rc3/other-name-2.0_rc3.xsd +88 -0
  41. data/resources/record_2.0_rc3/peer-review-2.0_rc3.xsd +246 -0
  42. data/resources/record_2.0_rc3/person-2.0_rc3.xsd +98 -0
  43. data/resources/record_2.0_rc3/person-external-identifier-2.0_rc3.xsd +63 -0
  44. data/resources/record_2.0_rc3/personal-details-2.0_rc3.xsd +186 -0
  45. data/resources/record_2.0_rc3/preferences-2.0_rc3.xsd +50 -0
  46. data/resources/record_2.0_rc3/record-2.0_rc3.xsd +105 -0
  47. data/resources/record_2.0_rc3/researcher-url-2.0_rc3.xsd +90 -0
  48. data/resources/record_2.0_rc3/samples/activities-2.0_rc3.xml +236 -0
  49. data/resources/record_2.0_rc3/samples/address-2.0_rc3.xml +16 -0
  50. data/resources/record_2.0_rc3/samples/addresses-2.0_rc3.xml +32 -0
  51. data/resources/record_2.0_rc3/samples/biography-2.0_rc3.xml +10 -0
  52. data/resources/record_2.0_rc3/samples/bulk-work-2.0_rc3.json +56 -0
  53. data/resources/record_2.0_rc3/samples/bulk-work-2.0_rc3.xml +62 -0
  54. data/resources/record_2.0_rc3/samples/credit-name-2.0_rc3.xml +5 -0
  55. data/resources/record_2.0_rc3/samples/deprecated-2.0_rc3.xml +13 -0
  56. data/resources/record_2.0_rc3/samples/education-2.0_rc3.xml +30 -0
  57. data/resources/record_2.0_rc3/samples/education-full-2.0_rc3.xml +40 -0
  58. data/resources/record_2.0_rc3/samples/email-2.0_rc3.xml +16 -0
  59. data/resources/record_2.0_rc3/samples/emails-2.0_rc3.xml +31 -0
  60. data/resources/record_2.0_rc3/samples/employment-2.0_rc3.xml +30 -0
  61. data/resources/record_2.0_rc3/samples/employment-full-2.0_rc3.xml +40 -0
  62. data/resources/record_2.0_rc3/samples/error-2.0_rc3.xml +8 -0
  63. data/resources/record_2.0_rc3/samples/external-identifier-2.0_rc3.xml +20 -0
  64. data/resources/record_2.0_rc3/samples/external-identifiers-2.0_rc3.xml +36 -0
  65. data/resources/record_2.0_rc3/samples/funding-2.0_rc3.xml +65 -0
  66. data/resources/record_2.0_rc3/samples/funding-full-2.0_rc3.xml +75 -0
  67. data/resources/record_2.0_rc3/samples/history-2.0_rc3.xml +22 -0
  68. data/resources/record_2.0_rc3/samples/keyword-2.0_rc3.xml +18 -0
  69. data/resources/record_2.0_rc3/samples/keywords-2.0_rc3.xml +34 -0
  70. data/resources/record_2.0_rc3/samples/name-2.0_rc3.xml +12 -0
  71. data/resources/record_2.0_rc3/samples/other-name-2.0_rc3.xml +16 -0
  72. data/resources/record_2.0_rc3/samples/other-names-2.0_rc3.xml +31 -0
  73. data/resources/record_2.0_rc3/samples/peer-review-2.0_rc3.xml +49 -0
  74. data/resources/record_2.0_rc3/samples/peer-review-full-2.0_rc3.xml +59 -0
  75. data/resources/record_2.0_rc3/samples/person-2.0_rc3.xml +122 -0
  76. data/resources/record_2.0_rc3/samples/personal-details-2.0_rc3.xml +47 -0
  77. data/resources/record_2.0_rc3/samples/preferences-2.0_rc3.xml +4 -0
  78. data/resources/record_2.0_rc3/samples/record-2.0_rc3.xml +420 -0
  79. data/resources/record_2.0_rc3/samples/researcher-url-2.0_rc3.xml +19 -0
  80. data/resources/record_2.0_rc3/samples/researcher-urls-2.0_rc3.xml +21 -0
  81. data/resources/record_2.0_rc3/samples/search-2.0_rc3.xml +368 -0
  82. data/resources/record_2.0_rc3/samples/work-2.0_rc3.xml +49 -0
  83. data/resources/record_2.0_rc3/samples/work-full-2.0_rc3.xml +59 -0
  84. data/resources/record_2.0_rc3/search-2.0_rc3.xsd +82 -0
  85. data/resources/record_2.0_rc3/work-2.0_rc3.xsd +445 -0
  86. data/spec/api_spec.rb +59 -0
  87. data/spec/fixtures/vcr_cassettes/OrcidClient/get/should_get_works.yml +646 -0
  88. data/spec/fixtures/vcr_cassettes/OrcidClient/notifications/post/should_create_notification.yml +104 -0
  89. data/spec/fixtures/vcr_cassettes/OrcidClient/works/delete/should_delete_work.yml +38 -0
  90. data/spec/fixtures/vcr_cassettes/OrcidClient/works/get/should_get_works.yml +646 -0
  91. data/spec/fixtures/vcr_cassettes/OrcidClient/works/post/should_create_work.yml +116 -0
  92. data/spec/fixtures/vcr_cassettes/OrcidClient/works/put/should_update_work.yml +155 -0
  93. data/spec/fixtures/vcr_cassettes/OrcidClient_Notification/data.yml +44 -0
  94. data/spec/fixtures/vcr_cassettes/OrcidClient_Notification/schema/validates_data.yml +44 -0
  95. data/spec/fixtures/vcr_cassettes/OrcidClient_Notification/schema/validates_item_type_work.yml +41 -0
  96. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/citation.yml +50 -0
  97. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/contributors/literal.yml +47 -0
  98. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/contributors/multiple_titles.yml +47 -0
  99. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/contributors/valid.yml +50 -0
  100. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/contributors/with_ORCID_IDs.yml +157 -0
  101. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/data.yml +50 -0
  102. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/publication_date.yml +50 -0
  103. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/schema/validates_ORCID_IDs_for_contributors.yml +157 -0
  104. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/schema/validates_data.yml +50 -0
  105. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/schema/validates_work_type_data-set.yml +47 -0
  106. data/spec/fixtures/work.xml +33 -0
  107. data/spec/notification_spec.rb +42 -0
  108. data/spec/spec_helper.rb +32 -0
  109. data/spec/work_spec.rb +100 -0
  110. metadata +392 -0
@@ -0,0 +1,68 @@
1
+ module OrcidClient
2
+ module WorkType
3
+ # Map of DataCite work types to the CASRAI-based ORCID type vocabulary
4
+ # https://members.orcid.org/api/supported-work-types
5
+ TYPE_OF_WORK = {
6
+
7
+ 'Audiovisual' => 'other',
8
+ 'Collection' => 'other',
9
+ 'Dataset' => 'data-set',
10
+ 'Event' => 'other',
11
+ 'Image' => 'other',
12
+ 'InteractiveResource' => 'online-resource',
13
+ 'Model' => 'other',
14
+ 'PhysicalObject' => 'other',
15
+ 'Service' => 'other',
16
+ 'Software' => 'other',
17
+ 'Sound' => 'other',
18
+ 'Text' => 'other',
19
+ 'Workflow' => 'other',
20
+ 'Other' => 'other',
21
+
22
+ # Legacy types from older schema versions
23
+ 'Film' => 'other'
24
+ # pick up other legacy types as we go along
25
+ }
26
+
27
+ # Heuristic for determing the type of the work based on A) the general, high-level label
28
+ # from the `resourceTypeGeneral field` (controlled list) and B)) the value of the more specific
29
+ # `resourceType` field which is not from a controlled list but rather free-form input from data centres.
30
+ def orcid_work_type(internal_work_type, internal_work_subtype)
31
+ type = case internal_work_type
32
+ when 'Text'
33
+ case internal_work_subtype
34
+ when /^(Article|Articles|Journal Article|JournalArticle)$/i
35
+ 'journal-article'
36
+ when /^(Book|ebook|Monografie|Monograph\w*|)$/i
37
+ 'book'
38
+ when /^(chapter|chapters)$/i
39
+ 'book-chapter'
40
+ when /^(Project report|Report|Research report|Technical Report|TechnicalReport|Text\/Report|XFEL.EU Annual Report|XFEL.EU Technical Report)$/i
41
+ 'report'
42
+ when /^(Dissertation|thesis|Doctoral thesis|Academic thesis|Master thesis|Masterthesis|Postdoctoral thesis)$/i
43
+ 'dissertation'
44
+ when /^(Conference Abstract|Conference extended abstract)$/i
45
+ 'conference-abstract'
46
+ when /^(Conference full text|Conference paper|ConferencePaper)$/i
47
+ 'conference-paper'
48
+ when /^(poster|Conference poster)$/i
49
+ 'conference-poster'
50
+ when /^(working paper|workingpaper|preprint)$/i
51
+ 'working-paper'
52
+ when /^(dataset$)/i
53
+ 'data-set'
54
+ end
55
+
56
+ when 'Collection'
57
+ case internal_work_subtype
58
+ when /^(Collection of Datasets|Data Files|Dataset|Supplementary Collection of Datasets)$/i
59
+ 'data-set'
60
+ when 'Report'
61
+ 'report'
62
+ end
63
+ end # double CASE statement ends
64
+
65
+ type || TYPE_OF_WORK[internal_work_type] || 'other'
66
+ end
67
+ end
68
+ end
@@ -0,0 +1,37 @@
1
+ require "date"
2
+ require File.expand_path("../lib/orcid_client/version", __FILE__)
3
+
4
+ Gem::Specification.new do |s|
5
+ s.authors = "Martin Fenner"
6
+ s.email = "mfenner@datacite.org"
7
+ s.name = "orcid_client"
8
+ s.homepage = "https://github.com/datacite/orcid_client"
9
+ s.summary = "Ruby client library for the ORCID API"
10
+ s.date = Date.today
11
+ s.description = "Ruby client library for the ORCID API."
12
+ s.require_paths = ["lib"]
13
+ s.version = OrcidClient::VERSION
14
+ s.extra_rdoc_files = ["README.md"]
15
+ s.license = 'MIT'
16
+
17
+ s.files = `git ls-files`.split("\n")
18
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
19
+ s.require_paths = ["lib"]
20
+
21
+ # Declary dependencies here, rather than in the Gemfile
22
+ s.add_dependency 'maremma', '~> 2.5'
23
+ s.add_dependency 'nokogiri', '~> 1.6.8'
24
+ s.add_dependency 'builder', '~> 3.2', '>= 3.2.2'
25
+ s.add_dependency 'namae', '~> 0.10.1'
26
+ s.add_dependency 'activesupport', '~> 4.2', '>= 4.2.5'
27
+ s.add_dependency 'sanitize', '~> 4.0', '>= 4.0.1'
28
+ s.add_dependency 'dotenv', '~> 2.1', '>= 2.1.1'
29
+ s.add_development_dependency 'bundler', '~> 1.0'
30
+ s.add_development_dependency 'rspec', '~> 3.4'
31
+ s.add_development_dependency 'rake'
32
+ s.add_development_dependency 'rack-test', '~> 0'
33
+ s.add_development_dependency 'vcr'
34
+ s.add_development_dependency 'webmock', '~> 1.22', '>= 1.22.3'
35
+ s.add_development_dependency 'codeclimate-test-reporter', "~> 1.0.0"
36
+ s.add_development_dependency 'simplecov'
37
+ end
@@ -0,0 +1,1624 @@
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/common" xmlns:common="http://www.orcid.org/ns/common">
5
+ <xs:annotation>
6
+ <xs:documentation>
7
+ =============================================================================
8
+
9
+ ORCID (R) Open Source
10
+ http://orcid.org
11
+
12
+ Copyright (c) 2012-2014 ORCID,
13
+ Inc.
14
+ Licensed under an MIT-Style License (MIT)
15
+ http://orcid.org/open-source-license
16
+
17
+ This copyright and license
18
+ information (including a link to the full
19
+ license)
20
+ shall be included in
21
+ its entirety in all copies or substantial portion of
22
+ the software.
23
+
24
+ =============================================================================
25
+ The schema describes the message format used for ORCID API requests
26
+ and responses.
27
+ The top level element is orcid-message.
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:element name="last-modified-date">
36
+ <xs:complexType>
37
+ <xs:annotation>
38
+ <xs:documentation>The date time when the element was last modified.
39
+ </xs:documentation>
40
+ </xs:annotation>
41
+ <xs:simpleContent>
42
+ <xs:extension base="xs:dateTime" />
43
+ </xs:simpleContent>
44
+ </xs:complexType>
45
+ </xs:element>
46
+
47
+ <xs:element name="created-date">
48
+ <xs:complexType>
49
+ <xs:annotation>
50
+ <xs:documentation>The date time when element was created.
51
+ </xs:documentation>
52
+ </xs:annotation>
53
+ <xs:simpleContent>
54
+ <xs:extension base="xs:dateTime" />
55
+ </xs:simpleContent>
56
+ </xs:complexType>
57
+ </xs:element>
58
+
59
+ <xs:element name="read-date">
60
+ <xs:complexType>
61
+ <xs:annotation>
62
+ <xs:documentation>The date time when element was first read by the user.
63
+ </xs:documentation>
64
+ </xs:annotation>
65
+ <xs:simpleContent>
66
+ <xs:extension base="xs:dateTime" />
67
+ </xs:simpleContent>
68
+ </xs:complexType>
69
+ </xs:element>
70
+
71
+ <xs:element name="archived-date">
72
+ <xs:complexType>
73
+ <xs:annotation>
74
+ <xs:documentation>The date time when element was archived.
75
+ </xs:documentation>
76
+ </xs:annotation>
77
+ <xs:simpleContent>
78
+ <xs:extension base="xs:dateTime" />
79
+ </xs:simpleContent>
80
+ </xs:complexType>
81
+ </xs:element>
82
+
83
+ <xs:element name="sent-date">
84
+ <xs:complexType>
85
+ <xs:annotation>
86
+ <xs:documentation>The date time when element was sent to the user.
87
+ </xs:documentation>
88
+ </xs:annotation>
89
+ <xs:simpleContent>
90
+ <xs:extension base="xs:dateTime" />
91
+ </xs:simpleContent>
92
+ </xs:complexType>
93
+ </xs:element>
94
+
95
+ <xs:element name="approval-date">
96
+ <xs:complexType>
97
+ <xs:annotation>
98
+ <xs:documentation>The date time when element was approved.
99
+ </xs:documentation>
100
+ </xs:annotation>
101
+ <xs:simpleContent>
102
+ <xs:extension base="xs:dateTime" />
103
+ </xs:simpleContent>
104
+ </xs:complexType>
105
+ </xs:element>
106
+
107
+ <xs:element name="source" type="common:source-type" />
108
+
109
+ <xs:element name="external-ids" type="common:external-ids" />
110
+ <xs:element name="external-id" type="common:external-id" />
111
+
112
+ <xs:complexType name="source-type">
113
+ <xs:annotation>
114
+ <xs:documentation>The client application (Member organization's
115
+ system) or user that created the item. XSD VERSION 1.2 UPDATE: the
116
+ identifier for the source may be either an ORCID iD (representing
117
+ individuals and legacy client applications) or a Client ID
118
+ (representing all newer client applications)
119
+ </xs:documentation>
120
+ </xs:annotation>
121
+ <xs:sequence>
122
+ <xs:choice minOccurs="0">
123
+ <xs:element ref="common:source-orcid">
124
+ <xs:annotation>
125
+ <xs:documentation>The ORCID identifier for the individual user (or
126
+ legacy client application) that created the item. For identifiers
127
+ of
128
+ individual users, it may be used to look up ORCID record
129
+ details via
130
+ the API.
131
+ </xs:documentation>
132
+ </xs:annotation>
133
+ </xs:element>
134
+ <xs:element name="source-client-id" type="common:client-id">
135
+ <xs:annotation>
136
+ <xs:documentation>The client ID for the client application (Member
137
+ organization system) that created the item.
138
+ </xs:documentation>
139
+ </xs:annotation>
140
+ </xs:element>
141
+ </xs:choice>
142
+ <xs:element name="source-name" type="common:source-name"
143
+ minOccurs="0" />
144
+ </xs:sequence>
145
+ </xs:complexType>
146
+
147
+ <xs:complexType name="source-name" mixed="true">
148
+ <xs:annotation>
149
+ <xs:documentation>The human-readable name of the client application
150
+ (Member organization system) or individual user that created the
151
+ item. Value for the same person/organization could change over time.
152
+ source-orcid or source-client-id fields are more appropriate for
153
+ disambiguated matching.
154
+ </xs:documentation>
155
+ </xs:annotation>
156
+ </xs:complexType>
157
+
158
+ <xs:complexType name="organization">
159
+ <xs:annotation>
160
+ <xs:documentation>A reference to an organization. When available, an
161
+ organization will be tied to a disambiguated organization which
162
+ uniquely identifies the organization.
163
+ </xs:documentation>
164
+ </xs:annotation>
165
+
166
+ <xs:sequence>
167
+ <xs:element name="name" type="common:non-empty-string" />
168
+ <xs:element name="address" type="common:organization-address" />
169
+ <xs:element name="disambiguated-organization" type="common:disambiguated-organization"
170
+ minOccurs="0" maxOccurs="1" />
171
+ </xs:sequence>
172
+ </xs:complexType>
173
+
174
+ <xs:complexType name="organization-address">
175
+ <xs:annotation>
176
+ <xs:documentation>Container for organization location information
177
+ </xs:documentation>
178
+ </xs:annotation>
179
+ <xs:sequence>
180
+ <xs:element minOccurs="1" name="city" type="common:non-empty-string">
181
+ <xs:annotation>
182
+ <xs:documentation>City</xs:documentation>
183
+ </xs:annotation>
184
+ </xs:element>
185
+ <xs:element minOccurs="0" name="region" type="common:non-empty-string">
186
+ <xs:annotation>
187
+ <xs:documentation>Region within a country</xs:documentation>
188
+ </xs:annotation>
189
+ </xs:element>
190
+ <xs:element minOccurs="1" name="country" type="common:iso-3166-country" />
191
+ </xs:sequence>
192
+ </xs:complexType>
193
+
194
+ <xs:complexType name="disambiguated-organization">
195
+ <xs:annotation>
196
+ <xs:documentation>A reference to a disambiguated version the
197
+ organization to which the researcher or contributor is affiliated.
198
+ The list of disambiguated organizations come from ORCID partners
199
+ such as Ringgold, ISNI and FundRef.
200
+ </xs:documentation>
201
+ </xs:annotation>
202
+ <xs:sequence>
203
+ <xs:element name="disambiguated-organization-identifier"
204
+ type="common:short-text">
205
+ <xs:annotation>
206
+ <xs:documentation>The disambiguated organization identifier.
207
+ </xs:documentation>
208
+ </xs:annotation>
209
+ </xs:element>
210
+ <xs:element name="disambiguation-source" type="common:short-text">
211
+ <xs:annotation>
212
+ <xs:documentation>The source for providing the disambiguated
213
+ organization ID.
214
+ </xs:documentation>
215
+ </xs:annotation>
216
+ </xs:element>
217
+ </xs:sequence>
218
+ </xs:complexType>
219
+
220
+ <xs:simpleType name="locale">
221
+ <xs:annotation>
222
+ <xs:documentation>Supported locales for site
223
+ translations/localizations
224
+ </xs:documentation>
225
+ </xs:annotation>
226
+ <xs:restriction base="xs:string">
227
+ <xs:enumeration value="en" />
228
+ <xs:enumeration value="es" />
229
+ <xs:enumeration value="fr" />
230
+ <xs:enumeration value="ko" />
231
+ <xs:enumeration value="pt" />
232
+ <xs:enumeration value="ru" />
233
+ <xs:enumeration value="zh_CN" />
234
+ <xs:enumeration value="zh_TW" />
235
+ <xs:enumeration value="it" />
236
+ <xs:enumeration value="ja" />
237
+ </xs:restriction>
238
+ </xs:simpleType>
239
+
240
+ <xs:simpleType name="non-empty-string">
241
+ <xs:annotation>
242
+ <xs:documentation>Must contain one or more charaters that are not a
243
+ space, carriage return or linefeed
244
+ </xs:documentation>
245
+ </xs:annotation>
246
+ <xs:restriction base="xs:string">
247
+ <xs:pattern value="[\s\S]*[^\s\n\r]+[\s\S]*" />
248
+ </xs:restriction>
249
+ </xs:simpleType>
250
+
251
+ <xs:complexType name="amount">
252
+ <xs:annotation>
253
+ <xs:documentation>The funding amount.
254
+ </xs:documentation>
255
+ </xs:annotation>
256
+
257
+ <xs:simpleContent>
258
+ <xs:extension base="xs:string">
259
+ <xs:attribute name="currency-code" type="common:currency-code"
260
+ use="required" />
261
+ </xs:extension>
262
+ </xs:simpleContent>
263
+ </xs:complexType>
264
+
265
+ <xs:simpleType name="currency-code">
266
+ <xs:annotation>
267
+ <xs:documentation>The currency code used for funding amounts. From
268
+ the ISO 4217 list
269
+ (www.iso.org/iso/home/standards/currency_codes.htm).
270
+ </xs:documentation>
271
+ </xs:annotation>
272
+ <xs:restriction base="xs:string">
273
+ <xs:enumeration value="ADP" />
274
+ <xs:enumeration value="AED" />
275
+ <xs:enumeration value="AFA" />
276
+ <xs:enumeration value="AFN" />
277
+ <xs:enumeration value="ALL" />
278
+ <xs:enumeration value="AMD" />
279
+ <xs:enumeration value="ANG" />
280
+ <xs:enumeration value="AOA" />
281
+ <xs:enumeration value="ARS" />
282
+ <xs:enumeration value="ATS" />
283
+ <xs:enumeration value="AUD" />
284
+ <xs:enumeration value="AWG" />
285
+ <xs:enumeration value="AYM" />
286
+ <xs:enumeration value="AZM" />
287
+ <xs:enumeration value="AZN" />
288
+ <xs:enumeration value="BAM" />
289
+ <xs:enumeration value="BBD" />
290
+ <xs:enumeration value="BDT" />
291
+ <xs:enumeration value="BEF" />
292
+ <xs:enumeration value="BGL" />
293
+ <xs:enumeration value="BGN" />
294
+ <xs:enumeration value="BHD" />
295
+ <xs:enumeration value="BIF" />
296
+ <xs:enumeration value="BMD" />
297
+ <xs:enumeration value="BND" />
298
+ <xs:enumeration value="BOB" />
299
+ <xs:enumeration value="BOV" />
300
+ <xs:enumeration value="BRL" />
301
+ <xs:enumeration value="BSD" />
302
+ <xs:enumeration value="BTN" />
303
+ <xs:enumeration value="BWP" />
304
+ <xs:enumeration value="BYB" />
305
+ <xs:enumeration value="BYR" />
306
+ <xs:enumeration value="BZD" />
307
+ <xs:enumeration value="CAD" />
308
+ <xs:enumeration value="CDF" />
309
+ <xs:enumeration value="CHF" />
310
+ <xs:enumeration value="CLF" />
311
+ <xs:enumeration value="CLP" />
312
+ <xs:enumeration value="CNY" />
313
+ <xs:enumeration value="COP" />
314
+ <xs:enumeration value="CRC" />
315
+ <xs:enumeration value="CSD" />
316
+ <xs:enumeration value="CUC" />
317
+ <xs:enumeration value="CUP" />
318
+ <xs:enumeration value="CVE" />
319
+ <xs:enumeration value="CYP" />
320
+ <xs:enumeration value="CZK" />
321
+ <xs:enumeration value="DEM" />
322
+ <xs:enumeration value="DJF" />
323
+ <xs:enumeration value="DKK" />
324
+ <xs:enumeration value="DOP" />
325
+ <xs:enumeration value="DZD" />
326
+ <xs:enumeration value="EEK" />
327
+ <xs:enumeration value="EGP" />
328
+ <xs:enumeration value="ERN" />
329
+ <xs:enumeration value="ESP" />
330
+ <xs:enumeration value="ETB" />
331
+ <xs:enumeration value="EUR" />
332
+ <xs:enumeration value="FIM" />
333
+ <xs:enumeration value="FJD" />
334
+ <xs:enumeration value="FKP" />
335
+ <xs:enumeration value="FRF" />
336
+ <xs:enumeration value="GBP" />
337
+ <xs:enumeration value="GEL" />
338
+ <xs:enumeration value="GHC" />
339
+ <xs:enumeration value="GHS" />
340
+ <xs:enumeration value="GIP" />
341
+ <xs:enumeration value="GMD" />
342
+ <xs:enumeration value="GNF" />
343
+ <xs:enumeration value="GRD" />
344
+ <xs:enumeration value="GTQ" />
345
+ <xs:enumeration value="GWP" />
346
+ <xs:enumeration value="GYD" />
347
+ <xs:enumeration value="HKD" />
348
+ <xs:enumeration value="HNL" />
349
+ <xs:enumeration value="HRK" />
350
+ <xs:enumeration value="HTG" />
351
+ <xs:enumeration value="HUF" />
352
+ <xs:enumeration value="IDR" />
353
+ <xs:enumeration value="IEP" />
354
+ <xs:enumeration value="ILS" />
355
+ <xs:enumeration value="INR" />
356
+ <xs:enumeration value="IQD" />
357
+ <xs:enumeration value="IRR" />
358
+ <xs:enumeration value="ISK" />
359
+ <xs:enumeration value="ITL" />
360
+ <xs:enumeration value="JMD" />
361
+ <xs:enumeration value="JOD" />
362
+ <xs:enumeration value="JPY" />
363
+ <xs:enumeration value="KES" />
364
+ <xs:enumeration value="KGS" />
365
+ <xs:enumeration value="KHR" />
366
+ <xs:enumeration value="KMF" />
367
+ <xs:enumeration value="KPW" />
368
+ <xs:enumeration value="KRW" />
369
+ <xs:enumeration value="KWD" />
370
+ <xs:enumeration value="KYD" />
371
+ <xs:enumeration value="KZT" />
372
+ <xs:enumeration value="LAK" />
373
+ <xs:enumeration value="LBP" />
374
+ <xs:enumeration value="LKR" />
375
+ <xs:enumeration value="LRD" />
376
+ <xs:enumeration value="LSL" />
377
+ <xs:enumeration value="LTL" />
378
+ <xs:enumeration value="LUF" />
379
+ <xs:enumeration value="LVL" />
380
+ <xs:enumeration value="LYD" />
381
+ <xs:enumeration value="MAD" />
382
+ <xs:enumeration value="MDL" />
383
+ <xs:enumeration value="MGA" />
384
+ <xs:enumeration value="MGF" />
385
+ <xs:enumeration value="MKD" />
386
+ <xs:enumeration value="MMK" />
387
+ <xs:enumeration value="MNT" />
388
+ <xs:enumeration value="MOP" />
389
+ <xs:enumeration value="MRO" />
390
+ <xs:enumeration value="MTL" />
391
+ <xs:enumeration value="MUR" />
392
+ <xs:enumeration value="MVR" />
393
+ <xs:enumeration value="MWK" />
394
+ <xs:enumeration value="MXN" />
395
+ <xs:enumeration value="MXV" />
396
+ <xs:enumeration value="MYR" />
397
+ <xs:enumeration value="MZM" />
398
+ <xs:enumeration value="MZN" />
399
+ <xs:enumeration value="NAD" />
400
+ <xs:enumeration value="NGN" />
401
+ <xs:enumeration value="NIO" />
402
+ <xs:enumeration value="NLG" />
403
+ <xs:enumeration value="NOK" />
404
+ <xs:enumeration value="NPR" />
405
+ <xs:enumeration value="NZD" />
406
+ <xs:enumeration value="OMR" />
407
+ <xs:enumeration value="PAB" />
408
+ <xs:enumeration value="PEN" />
409
+ <xs:enumeration value="PGK" />
410
+ <xs:enumeration value="PHP" />
411
+ <xs:enumeration value="PKR" />
412
+ <xs:enumeration value="PLN" />
413
+ <xs:enumeration value="PTE" />
414
+ <xs:enumeration value="PYG" />
415
+ <xs:enumeration value="QAR" />
416
+ <xs:enumeration value="ROL" />
417
+ <xs:enumeration value="RON" />
418
+ <xs:enumeration value="RSD" />
419
+ <xs:enumeration value="RUB" />
420
+ <xs:enumeration value="RUR" />
421
+ <xs:enumeration value="RWF" />
422
+ <xs:enumeration value="SAR" />
423
+ <xs:enumeration value="SBD" />
424
+ <xs:enumeration value="SCR" />
425
+ <xs:enumeration value="SDD" />
426
+ <xs:enumeration value="SDG" />
427
+ <xs:enumeration value="SEK" />
428
+ <xs:enumeration value="SGD" />
429
+ <xs:enumeration value="SHP" />
430
+ <xs:enumeration value="SIT" />
431
+ <xs:enumeration value="SKK" />
432
+ <xs:enumeration value="SLL" />
433
+ <xs:enumeration value="SOS" />
434
+ <xs:enumeration value="SRD" />
435
+ <xs:enumeration value="SRG" />
436
+ <xs:enumeration value="STD" />
437
+ <xs:enumeration value="SVC" />
438
+ <xs:enumeration value="SYP" />
439
+ <xs:enumeration value="SZL" />
440
+ <xs:enumeration value="THB" />
441
+ <xs:enumeration value="TJS" />
442
+ <xs:enumeration value="TMM" />
443
+ <xs:enumeration value="TMT" />
444
+ <xs:enumeration value="TND" />
445
+ <xs:enumeration value="TOP" />
446
+ <xs:enumeration value="TPE" />
447
+ <xs:enumeration value="TRL" />
448
+ <xs:enumeration value="TRY" />
449
+ <xs:enumeration value="TTD" />
450
+ <xs:enumeration value="TWD" />
451
+ <xs:enumeration value="TZS" />
452
+ <xs:enumeration value="UAH" />
453
+ <xs:enumeration value="UGX" />
454
+ <xs:enumeration value="USD" />
455
+ <xs:enumeration value="USN" />
456
+ <xs:enumeration value="USS" />
457
+ <xs:enumeration value="UYU" />
458
+ <xs:enumeration value="UZS" />
459
+ <xs:enumeration value="VEB" />
460
+ <xs:enumeration value="VEF" />
461
+ <xs:enumeration value="VND" />
462
+ <xs:enumeration value="VUV" />
463
+ <xs:enumeration value="WST" />
464
+ <xs:enumeration value="XAF" />
465
+ <xs:enumeration value="XAG" />
466
+ <xs:enumeration value="XAU" />
467
+ <xs:enumeration value="XBA" />
468
+ <xs:enumeration value="XBB" />
469
+ <xs:enumeration value="XBC" />
470
+ <xs:enumeration value="XBD" />
471
+ <xs:enumeration value="XCD" />
472
+ <xs:enumeration value="XDR" />
473
+ <xs:enumeration value="XFO" />
474
+ <xs:enumeration value="XFU" />
475
+ <xs:enumeration value="XOF" />
476
+ <xs:enumeration value="XPD" />
477
+ <xs:enumeration value="XPF" />
478
+ <xs:enumeration value="XPT" />
479
+ <xs:enumeration value="XSU" />
480
+ <xs:enumeration value="XTS" />
481
+ <xs:enumeration value="XUA" />
482
+ <xs:enumeration value="XXX" />
483
+ <xs:enumeration value="YER" />
484
+ <xs:enumeration value="YUM" />
485
+ <xs:enumeration value="ZAR" />
486
+ <xs:enumeration value="ZMK" />
487
+ <xs:enumeration value="ZWD" />
488
+ <xs:enumeration value="ZWL" />
489
+ <xs:enumeration value="ZWN" />
490
+ <xs:enumeration value="ZWR" />
491
+ </xs:restriction>
492
+ </xs:simpleType>
493
+
494
+ <xs:simpleType name="organization-defined-type">
495
+ <xs:annotation>
496
+ <xs:documentation>Container for a organization defined type for an
497
+ external identifier.
498
+ </xs:documentation>
499
+ </xs:annotation>
500
+ <xs:restriction base="common:string-255">
501
+ </xs:restriction>
502
+ </xs:simpleType>
503
+
504
+ <xs:element name="language-code" type="common:language-code"></xs:element>
505
+
506
+ <xs:simpleType name="language-code">
507
+ <xs:annotation>
508
+ <xs:documentation>Two letter language code to identify the language
509
+ used in work fields. Chinese is expressed in more than two letters,
510
+ with a modifier to indicate simplified (zh_CN) or traditional
511
+ (zh_TW) Chinese.
512
+ </xs:documentation>
513
+ </xs:annotation>
514
+ <xs:restriction base="xs:string">
515
+ <xs:enumeration value="en" />
516
+ <xs:enumeration value="ab" />
517
+ <xs:enumeration value="aa" />
518
+ <xs:enumeration value="af" />
519
+ <xs:enumeration value="ak" />
520
+ <xs:enumeration value="sq" />
521
+ <xs:enumeration value="am" />
522
+ <xs:enumeration value="ar" />
523
+ <xs:enumeration value="an" />
524
+ <xs:enumeration value="hy" />
525
+ <xs:enumeration value="as" />
526
+ <xs:enumeration value="av" />
527
+ <xs:enumeration value="ae" />
528
+ <xs:enumeration value="ay" />
529
+ <xs:enumeration value="az" />
530
+ <xs:enumeration value="bm" />
531
+ <xs:enumeration value="ba" />
532
+ <xs:enumeration value="eu" />
533
+ <xs:enumeration value="be" />
534
+ <xs:enumeration value="bn" />
535
+ <xs:enumeration value="bh" />
536
+ <xs:enumeration value="bi" />
537
+ <xs:enumeration value="bs" />
538
+ <xs:enumeration value="br" />
539
+ <xs:enumeration value="bg" />
540
+ <xs:enumeration value="my" />
541
+ <xs:enumeration value="ca" />
542
+ <xs:enumeration value="ch" />
543
+ <xs:enumeration value="ce" />
544
+ <xs:enumeration value="zh_CN" />
545
+ <xs:enumeration value="zh_TW" />
546
+ <xs:enumeration value="cu" />
547
+ <xs:enumeration value="cv" />
548
+ <xs:enumeration value="kw" />
549
+ <xs:enumeration value="co" />
550
+ <xs:enumeration value="cr" />
551
+ <xs:enumeration value="hr" />
552
+ <xs:enumeration value="cs" />
553
+ <xs:enumeration value="da" />
554
+ <xs:enumeration value="dv" />
555
+ <xs:enumeration value="nl" />
556
+ <xs:enumeration value="dz" />
557
+ <xs:enumeration value="en" />
558
+ <xs:enumeration value="eo" />
559
+ <xs:enumeration value="et" />
560
+ <xs:enumeration value="ee" />
561
+ <xs:enumeration value="fo" />
562
+ <xs:enumeration value="fj" />
563
+ <xs:enumeration value="fi" />
564
+ <xs:enumeration value="fr" />
565
+ <xs:enumeration value="fy" />
566
+ <xs:enumeration value="ff" />
567
+ <xs:enumeration value="gl" />
568
+ <xs:enumeration value="lg" />
569
+ <xs:enumeration value="ka" />
570
+ <xs:enumeration value="de" />
571
+ <xs:enumeration value="el" />
572
+ <xs:enumeration value="kl" />
573
+ <xs:enumeration value="gn" />
574
+ <xs:enumeration value="gu" />
575
+ <xs:enumeration value="ht" />
576
+ <xs:enumeration value="ha" />
577
+ <xs:enumeration value="iw" />
578
+ <xs:enumeration value="hz" />
579
+ <xs:enumeration value="hi" />
580
+ <xs:enumeration value="ho" />
581
+ <xs:enumeration value="hu" />
582
+ <xs:enumeration value="is" />
583
+ <xs:enumeration value="io" />
584
+ <xs:enumeration value="ig" />
585
+ <xs:enumeration value="in" />
586
+ <xs:enumeration value="ia" />
587
+ <xs:enumeration value="ie" />
588
+ <xs:enumeration value="iu" />
589
+ <xs:enumeration value="ik" />
590
+ <xs:enumeration value="ga" />
591
+ <xs:enumeration value="it" />
592
+ <xs:enumeration value="ja" />
593
+ <xs:enumeration value="jv" />
594
+ <xs:enumeration value="kn" />
595
+ <xs:enumeration value="kr" />
596
+ <xs:enumeration value="ks" />
597
+ <xs:enumeration value="kk" />
598
+ <xs:enumeration value="km" />
599
+ <xs:enumeration value="ki" />
600
+ <xs:enumeration value="rw" />
601
+ <xs:enumeration value="ky" />
602
+ <xs:enumeration value="kv" />
603
+ <xs:enumeration value="kg" />
604
+ <xs:enumeration value="ko" />
605
+ <xs:enumeration value="ku" />
606
+ <xs:enumeration value="kj" />
607
+ <xs:enumeration value="lo" />
608
+ <xs:enumeration value="la" />
609
+ <xs:enumeration value="lv" />
610
+ <xs:enumeration value="li" />
611
+ <xs:enumeration value="ln" />
612
+ <xs:enumeration value="lt" />
613
+ <xs:enumeration value="lu" />
614
+ <xs:enumeration value="lb" />
615
+ <xs:enumeration value="mk" />
616
+ <xs:enumeration value="mg" />
617
+ <xs:enumeration value="ms" />
618
+ <xs:enumeration value="ml" />
619
+ <xs:enumeration value="mt" />
620
+ <xs:enumeration value="gv" />
621
+ <xs:enumeration value="mi" />
622
+ <xs:enumeration value="mr" />
623
+ <xs:enumeration value="mh" />
624
+ <xs:enumeration value="mo" />
625
+ <xs:enumeration value="mn" />
626
+ <xs:enumeration value="na" />
627
+ <xs:enumeration value="nv" />
628
+ <xs:enumeration value="ng" />
629
+ <xs:enumeration value="ne" />
630
+ <xs:enumeration value="nd" />
631
+ <xs:enumeration value="se" />
632
+ <xs:enumeration value="no" />
633
+ <xs:enumeration value="nb" />
634
+ <xs:enumeration value="nn" />
635
+ <xs:enumeration value="ny" />
636
+ <xs:enumeration value="oc" />
637
+ <xs:enumeration value="oj" />
638
+ <xs:enumeration value="or" />
639
+ <xs:enumeration value="om" />
640
+ <xs:enumeration value="os" />
641
+ <xs:enumeration value="pi" />
642
+ <xs:enumeration value="pa" />
643
+ <xs:enumeration value="fa" />
644
+ <xs:enumeration value="pl" />
645
+ <xs:enumeration value="pt" />
646
+ <xs:enumeration value="ps" />
647
+ <xs:enumeration value="qu" />
648
+ <xs:enumeration value="rm" />
649
+ <xs:enumeration value="ro" />
650
+ <xs:enumeration value="rn" />
651
+ <xs:enumeration value="ru" />
652
+ <xs:enumeration value="sm" />
653
+ <xs:enumeration value="sg" />
654
+ <xs:enumeration value="sa" />
655
+ <xs:enumeration value="sc" />
656
+ <xs:enumeration value="gd" />
657
+ <xs:enumeration value="sr" />
658
+ <xs:enumeration value="sn" />
659
+ <xs:enumeration value="ii" />
660
+ <xs:enumeration value="sd" />
661
+ <xs:enumeration value="si" />
662
+ <xs:enumeration value="sk" />
663
+ <xs:enumeration value="sl" />
664
+ <xs:enumeration value="so" />
665
+ <xs:enumeration value="nr" />
666
+ <xs:enumeration value="st" />
667
+ <xs:enumeration value="es" />
668
+ <xs:enumeration value="su" />
669
+ <xs:enumeration value="sw" />
670
+ <xs:enumeration value="ss" />
671
+ <xs:enumeration value="sv" />
672
+ <xs:enumeration value="tl" />
673
+ <xs:enumeration value="ty" />
674
+ <xs:enumeration value="tg" />
675
+ <xs:enumeration value="ta" />
676
+ <xs:enumeration value="tt" />
677
+ <xs:enumeration value="te" />
678
+ <xs:enumeration value="th" />
679
+ <xs:enumeration value="bo" />
680
+ <xs:enumeration value="ti" />
681
+ <xs:enumeration value="to" />
682
+ <xs:enumeration value="ts" />
683
+ <xs:enumeration value="tn" />
684
+ <xs:enumeration value="tr" />
685
+ <xs:enumeration value="tk" />
686
+ <xs:enumeration value="tw" />
687
+ <xs:enumeration value="ug" />
688
+ <xs:enumeration value="uk" />
689
+ <xs:enumeration value="ur" />
690
+ <xs:enumeration value="uz" />
691
+ <xs:enumeration value="ve" />
692
+ <xs:enumeration value="vi" />
693
+ <xs:enumeration value="vo" />
694
+ <xs:enumeration value="wa" />
695
+ <xs:enumeration value="cy" />
696
+ <xs:enumeration value="wo" />
697
+ <xs:enumeration value="xh" />
698
+ <xs:enumeration value="ji" />
699
+ <xs:enumeration value="yo" />
700
+ <xs:enumeration value="za" />
701
+ <xs:enumeration value="zu" />
702
+ </xs:restriction>
703
+ </xs:simpleType>
704
+
705
+ <xs:complexType name="url">
706
+ <xs:annotation>
707
+ <xs:documentation>Represents a URL in the XML anyURI format
708
+ </xs:documentation>
709
+ </xs:annotation>
710
+ <xs:simpleContent>
711
+ <xs:extension base="xs:anyURI" />
712
+ </xs:simpleContent>
713
+ </xs:complexType>
714
+
715
+ <xs:complexType name="address">
716
+ <xs:annotation>
717
+ <xs:documentation>Container for address information. Only country
718
+ information is included at this time.
719
+ </xs:documentation>
720
+ </xs:annotation>
721
+ <xs:sequence>
722
+ <xs:element minOccurs="0" ref="common:country" />
723
+ </xs:sequence>
724
+ </xs:complexType>
725
+
726
+ <xs:element name="country">
727
+ <xs:complexType>
728
+ <xs:annotation>
729
+ <xs:documentation>Country represented by its ISO 3611 code. The
730
+ visibility attribute (private, limited or public) can be set at
731
+ record creation, and indicates who can see this section of
732
+ information.
733
+ </xs:documentation>
734
+ </xs:annotation>
735
+ <xs:simpleContent>
736
+ <xs:extension base="common:iso-3166-country-or-empty">
737
+ <xs:attribute name="visibility" type="common:visibility" />
738
+ </xs:extension>
739
+ </xs:simpleContent>
740
+ </xs:complexType>
741
+ </xs:element>
742
+
743
+ <xs:simpleType name="orcid-path">
744
+ <xs:annotation>
745
+ <xs:documentation>Path for the ORCID iD.
746
+ </xs:documentation>
747
+ </xs:annotation>
748
+ <xs:restriction base="xs:string">
749
+ <xs:pattern value="(\d{4}-){3,}\d{3}[\dX]" />
750
+ </xs:restriction>
751
+ </xs:simpleType>
752
+
753
+ <xs:simpleType name="orcid-uri">
754
+ <xs:annotation>
755
+ <xs:documentation>ORCID URI for the ORCID iD.
756
+ </xs:documentation>
757
+ </xs:annotation>
758
+ <xs:restriction base="xs:string">
759
+ <xs:pattern
760
+ value="http://([^/]*orcid\.org|localhost.*/orcid-web)/(\d{4}-){3,}\d{3}[\dX]" />
761
+ </xs:restriction>
762
+ </xs:simpleType>
763
+
764
+ <xs:element name="application-group-orcid" type="common:orcid-id" />
765
+ <xs:element name="application-orcid" type="common:orcid-id" />
766
+ <xs:element name="orcid-identifier" type="common:orcid-id" />
767
+ <xs:element name="contributor-orcid" type="common:orcid-id" />
768
+ <xs:element name="group-orcid-identifier" type="common:orcid-id" />
769
+ <xs:element name="source-orcid" type="common:orcid-id" />
770
+ <xs:element name="orcid-id" type="common:orcid-id" />
771
+ <xs:complexType name="orcid-id">
772
+ <xs:annotation>
773
+ <xs:documentation>The identifier of the researcher or contributor in
774
+ ORCID (the ORCID iD). At least one of uri or path must be given.
775
+ NOTE: this type is also used for legacy client IDs.
776
+ </xs:documentation>
777
+ </xs:annotation>
778
+ <xs:sequence>
779
+ <xs:choice>
780
+ <xs:sequence>
781
+ <xs:element name="uri" type="common:orcid-uri">
782
+ <xs:annotation>
783
+ <xs:documentation>ORCID iD in URI form (preferred).
784
+ </xs:documentation>
785
+ </xs:annotation>
786
+ </xs:element>
787
+ <xs:element name="path" type="common:orcid-path"
788
+ minOccurs="0">
789
+ <xs:annotation>
790
+ <xs:documentation>ORCID path (16-character identifier) of the
791
+ ORCID iD.
792
+ </xs:documentation>
793
+ </xs:annotation>
794
+ </xs:element>
795
+ </xs:sequence>
796
+ <xs:element name="path" type="common:orcid-path">
797
+ <xs:annotation>
798
+ <xs:documentation>ORCID path (16-character identifier) of the
799
+ ORCID iD.
800
+ </xs:documentation>
801
+ </xs:annotation>
802
+ </xs:element>
803
+ </xs:choice>
804
+ <xs:element name="host" type="xs:string" minOccurs="0">
805
+ <xs:annotation>
806
+ <xs:documentation>ORCID host (base URL) of the ORCID iD.
807
+ </xs:documentation>
808
+ </xs:annotation>
809
+ </xs:element>
810
+ </xs:sequence>
811
+ </xs:complexType>
812
+
813
+ <xs:simpleType name="client-path">
814
+ <xs:annotation>
815
+ <xs:documentation>Path for the API client ID.
816
+ </xs:documentation>
817
+ </xs:annotation>
818
+ <xs:restriction base="xs:string">
819
+ <xs:pattern value="APP-[\da-zA-Z]{16}" />
820
+ </xs:restriction>
821
+ </xs:simpleType>
822
+
823
+ <xs:simpleType name="client-uri">
824
+ <xs:annotation>
825
+ <xs:documentation>ORCID URI for the API client ID.
826
+ </xs:documentation>
827
+ </xs:annotation>
828
+ <xs:restriction base="xs:string">
829
+ <xs:pattern
830
+ value="http://([^/]*orcid\.org|localhost.*/orcid-web)/client/APP-[\da-zA-Z]{16}" />
831
+ </xs:restriction>
832
+ </xs:simpleType>
833
+
834
+ <xs:complexType name="client-id">
835
+ <xs:annotation>
836
+ <xs:documentation>The identifier of an ORCID API client app. At least
837
+ one of uri or path must be given. NOTE: legacy API clients still may
838
+ be identified by the orcid-id type.
839
+ </xs:documentation>
840
+ </xs:annotation>
841
+ <xs:sequence>
842
+ <xs:choice>
843
+ <xs:sequence>
844
+ <xs:element name="uri" type="common:client-uri" />
845
+ <xs:element name="path" type="common:client-path"
846
+ minOccurs="0" />
847
+ </xs:sequence>
848
+ <xs:element name="path" type="common:client-path" />
849
+ </xs:choice>
850
+ <xs:element name="host" type="xs:string" minOccurs="0">
851
+ <xs:annotation>
852
+ <xs:documentation>ORCID host (base URL) of the ORCID iD.
853
+ </xs:documentation>
854
+ </xs:annotation>
855
+ </xs:element>
856
+ </xs:sequence>
857
+ </xs:complexType>
858
+
859
+ <xs:simpleType name="orcid-type">
860
+ <xs:annotation>
861
+ <xs:documentation>Indicates the ORCID record type for the ORCID iD
862
+ referenced. NOTE: orcid-types of API client are only used for legacy
863
+ API clients.
864
+ </xs:documentation>
865
+ </xs:annotation>
866
+ <xs:restriction base="xs:string">
867
+ <xs:enumeration value="admin" />
868
+ <xs:enumeration value="user" />
869
+ <xs:enumeration value="group" />
870
+ <xs:enumeration value="client" />
871
+ </xs:restriction>
872
+ </xs:simpleType>
873
+
874
+ <xs:simpleType name="put-code">
875
+ <xs:annotation>
876
+ <xs:documentation>The put-code attribute is present only when reading
877
+ elements. The code must be used when PUTing (updating) items that
878
+ contain the attribute (works, affiliations, etc) to ensure that the
879
+ existing item's history is retained.
880
+ </xs:documentation>
881
+ </xs:annotation>
882
+ <xs:restriction base="xs:integer">
883
+ </xs:restriction>
884
+ </xs:simpleType>
885
+
886
+ <xs:simpleType name="element-path">
887
+ <xs:annotation>
888
+ <xs:documentation>The activity-path attribute is present only when
889
+ reading elements. It will be of the form /{orcid}/{activity-name}/{put-code} for
890
+ activity elements or /{orcid}/person/{element-name}/{put-code} for person element
891
+ </xs:documentation>
892
+ </xs:annotation>
893
+ <xs:restriction base="xs:string">
894
+ </xs:restriction>
895
+ </xs:simpleType>
896
+
897
+ <xs:simpleType name="visibility">
898
+ <xs:annotation>
899
+ <xs:documentation>Indicates who can see the value of the element when
900
+ reading the ORCID record. See the enumerations for definitions of
901
+ each value, private, limited, public, registered-only.
902
+ </xs:documentation>
903
+ </xs:annotation>
904
+ <xs:restriction base="xs:string">
905
+ <xs:enumeration value="private">
906
+ <xs:annotation>
907
+ <xs:documentation>The data can only be seen by the researcher or
908
+ contributor. This data may be used internally by ORCID for Record
909
+ disambiguation purposes.
910
+ </xs:documentation>
911
+ </xs:annotation>
912
+ </xs:enumeration>
913
+ <xs:enumeration value="limited">
914
+ <xs:annotation>
915
+ <xs:documentation>The data can only be seen by trusted parties
916
+ (organizations or people) as indicated by the researcher or
917
+ contributor. This information is only shared with systems that the
918
+ researcher or contributor has specifically granted authorization
919
+ (using OAuth).
920
+ </xs:documentation>
921
+ </xs:annotation>
922
+ </xs:enumeration>
923
+ <xs:enumeration value="public">
924
+ <xs:annotation>
925
+ <xs:documentation>The data can be seen by anyone. It is publically
926
+ available via the ORCID Registry website and the public API
927
+ without further authroization by the researcher or contributor.
928
+ </xs:documentation>
929
+ </xs:annotation>
930
+ </xs:enumeration>
931
+ <xs:enumeration value="registered-only">
932
+ <xs:annotation>
933
+ <xs:documentation>The data is shared only with the registered user.
934
+ </xs:documentation>
935
+ </xs:annotation>
936
+ </xs:enumeration>
937
+ </xs:restriction>
938
+ </xs:simpleType>
939
+
940
+ <xs:simpleType name="email">
941
+ <xs:annotation>
942
+ <xs:documentation>Type to represent an email address.
943
+ </xs:documentation>
944
+ </xs:annotation>
945
+ <xs:restriction base="xs:string">
946
+ <xs:pattern value="[^@]+@[^\.]+\..+" />
947
+ </xs:restriction>
948
+ </xs:simpleType>
949
+
950
+ <xs:simpleType name="media-type">
951
+ <xs:annotation>
952
+ <xs:documentation>Used with the publication date to indicate which
953
+ version of the publication the date refers to.
954
+ </xs:documentation>
955
+ </xs:annotation>
956
+ <xs:restriction base="xs:string">
957
+ <xs:enumeration value="print" />
958
+ <xs:enumeration value="online" />
959
+ <xs:enumeration value="other" />
960
+ </xs:restriction>
961
+ </xs:simpleType>
962
+
963
+ <xs:simpleType name="year">
964
+ <xs:annotation>
965
+ <xs:documentation>4-character string representing a year of a date.
966
+ </xs:documentation>
967
+ </xs:annotation>
968
+ <xs:restriction base="xs:string">
969
+ <xs:pattern value="\d{4}" />
970
+ </xs:restriction>
971
+ </xs:simpleType>
972
+
973
+ <xs:simpleType name="month">
974
+ <xs:annotation>
975
+ <xs:documentation>2-character string representing a month of a date.
976
+ </xs:documentation>
977
+ </xs:annotation>
978
+ <xs:restriction base="xs:string">
979
+ <xs:pattern value="\d{2}" />
980
+ </xs:restriction>
981
+ </xs:simpleType>
982
+
983
+ <xs:simpleType name="day">
984
+ <xs:annotation>
985
+ <xs:documentation>2-character string representing a day of a date.
986
+ </xs:documentation>
987
+ </xs:annotation>
988
+ <xs:restriction base="xs:string">
989
+ <xs:pattern value="\d{2}" />
990
+ </xs:restriction>
991
+ </xs:simpleType>
992
+
993
+ <xs:element name="fuzzy-date" type="common:fuzzy-date" />
994
+ <xs:element name="start-date" type="common:fuzzy-date" />
995
+ <xs:element name="end-date" type="common:fuzzy-date" />
996
+ <xs:element name="publication-date" type="common:fuzzy-date" />
997
+ <xs:complexType name="fuzzy-date">
998
+ <xs:annotation>
999
+ <xs:documentation>In some places the full date is not required.
1000
+ </xs:documentation>
1001
+ </xs:annotation>
1002
+ <xs:sequence>
1003
+ <xs:element name="year">
1004
+ <xs:annotation>
1005
+ <xs:documentation>Used with the fuzzy-date type. Represents the
1006
+ year
1007
+ of the date.
1008
+ </xs:documentation>
1009
+ </xs:annotation>
1010
+ <xs:complexType mixed="true">
1011
+ <xs:simpleContent>
1012
+ <xs:extension base="common:year" />
1013
+ </xs:simpleContent>
1014
+ </xs:complexType>
1015
+ </xs:element>
1016
+ <xs:sequence minOccurs="0">
1017
+ <xs:element name="month">
1018
+ <xs:annotation>
1019
+ <xs:documentation>Used with the fuzzy-date type. Represents the
1020
+ month
1021
+ of the date.
1022
+ </xs:documentation>
1023
+ </xs:annotation>
1024
+ <xs:complexType mixed="true">
1025
+ <xs:simpleContent>
1026
+ <xs:extension base="common:month" />
1027
+ </xs:simpleContent>
1028
+ </xs:complexType>
1029
+ </xs:element>
1030
+ <xs:element name="day" minOccurs="0">
1031
+ <xs:annotation>
1032
+ <xs:documentation>Used with the fuzzy-date type. Represents the
1033
+ day
1034
+ of the date.
1035
+ </xs:documentation>
1036
+ </xs:annotation>
1037
+ <xs:complexType mixed="true">
1038
+ <xs:simpleContent>
1039
+ <xs:extension base="common:day" />
1040
+ </xs:simpleContent>
1041
+ </xs:complexType>
1042
+ </xs:element>
1043
+ </xs:sequence>
1044
+ </xs:sequence>
1045
+ </xs:complexType>
1046
+
1047
+ <xs:simpleType name="scope-path-type">
1048
+ <xs:annotation>
1049
+ <xs:documentation>See the ORCID Knowledgebase for a complete
1050
+ description of ORCID Scopes and related documentation:
1051
+ http://support.orcid.org/knowledgebase/articles/120162-orcid-scopes.
1052
+ </xs:documentation>
1053
+ </xs:annotation>
1054
+ <xs:restriction base="xs:string">
1055
+ <xs:enumeration value="/activities/update" />
1056
+ <xs:enumeration value="/authenticate" />
1057
+ <xs:enumeration value="/funding/create" />
1058
+ <xs:enumeration value="/funding/read-limited" />
1059
+ <xs:enumeration value="/funding/update" />
1060
+ <xs:enumeration value="/orcid-bio/external-identifiers/create" />
1061
+ <xs:enumeration value="/orcid-bio/read-limited" />
1062
+ <xs:enumeration value="/orcid-bio/update" />
1063
+ <xs:enumeration value="/orcid-patents/update" />
1064
+ <xs:enumeration value="/orcid-patents/create" />
1065
+ <xs:enumeration value="/orcid-patents/read-limited" />
1066
+ <xs:enumeration value="/orcid-profile/read-limited" />
1067
+ <xs:enumeration value="/orcid-works/create" />
1068
+ <xs:enumeration value="/orcid-works/read-limited" />
1069
+ <xs:enumeration value="/orcid-works/update" />
1070
+ <xs:enumeration value="/person/update" />
1071
+ <xs:enumeration value="/read-limited" />
1072
+ </xs:restriction>
1073
+ </xs:simpleType>
1074
+
1075
+ <xs:simpleType name="iso-3166-country">
1076
+ <xs:annotation>
1077
+ <xs:documentation>ISO 3166 country codes. NOTE: the values displayed
1078
+ to the website user are localized (translated) in the ORCID Registry
1079
+ web interface. For reference:
1080
+ https://github.com/ORCID/ORCID-Source/tree/master/orcid-core/src/main/resources/i18n
1081
+ </xs:documentation>
1082
+ </xs:annotation>
1083
+ <xs:restriction base="xs:string">
1084
+ <xs:enumeration value="AF" />
1085
+ <xs:enumeration value="AX" />
1086
+ <xs:enumeration value="AL" />
1087
+ <xs:enumeration value="DZ" />
1088
+ <xs:enumeration value="AS" />
1089
+ <xs:enumeration value="AD" />
1090
+ <xs:enumeration value="AO" />
1091
+ <xs:enumeration value="AI" />
1092
+ <xs:enumeration value="AQ" />
1093
+ <xs:enumeration value="AG" />
1094
+ <xs:enumeration value="AR" />
1095
+ <xs:enumeration value="AM" />
1096
+ <xs:enumeration value="AW" />
1097
+ <xs:enumeration value="AU" />
1098
+ <xs:enumeration value="AT" />
1099
+ <xs:enumeration value="AZ" />
1100
+ <xs:enumeration value="BS" />
1101
+ <xs:enumeration value="BH" />
1102
+ <xs:enumeration value="BD" />
1103
+ <xs:enumeration value="BB" />
1104
+ <xs:enumeration value="BY" />
1105
+ <xs:enumeration value="BE" />
1106
+ <xs:enumeration value="BZ" />
1107
+ <xs:enumeration value="BJ" />
1108
+ <xs:enumeration value="BM" />
1109
+ <xs:enumeration value="BT" />
1110
+ <xs:enumeration value="BO" />
1111
+ <xs:enumeration value="BQ" />
1112
+ <xs:enumeration value="BA" />
1113
+ <xs:enumeration value="BW" />
1114
+ <xs:enumeration value="BV" />
1115
+ <xs:enumeration value="BR" />
1116
+ <xs:enumeration value="IO" />
1117
+ <xs:enumeration value="BN" />
1118
+ <xs:enumeration value="BG" />
1119
+ <xs:enumeration value="BF" />
1120
+ <xs:enumeration value="BI" />
1121
+ <xs:enumeration value="KH" />
1122
+ <xs:enumeration value="CM" />
1123
+ <xs:enumeration value="CA" />
1124
+ <xs:enumeration value="CV" />
1125
+ <xs:enumeration value="KY" />
1126
+ <xs:enumeration value="CF" />
1127
+ <xs:enumeration value="TD" />
1128
+ <xs:enumeration value="CL" />
1129
+ <xs:enumeration value="CN" />
1130
+ <xs:enumeration value="CX" />
1131
+ <xs:enumeration value="CC" />
1132
+ <xs:enumeration value="CO" />
1133
+ <xs:enumeration value="KM" />
1134
+ <xs:enumeration value="CG" />
1135
+ <xs:enumeration value="CD" />
1136
+ <xs:enumeration value="CK" />
1137
+ <xs:enumeration value="CR" />
1138
+ <xs:enumeration value="CI" />
1139
+ <xs:enumeration value="HR" />
1140
+ <xs:enumeration value="CU" />
1141
+ <xs:enumeration value="CW" />
1142
+ <xs:enumeration value="CY" />
1143
+ <xs:enumeration value="CZ" />
1144
+ <xs:enumeration value="DK" />
1145
+ <xs:enumeration value="DJ" />
1146
+ <xs:enumeration value="DM" />
1147
+ <xs:enumeration value="DO" />
1148
+ <xs:enumeration value="EC" />
1149
+ <xs:enumeration value="EG" />
1150
+ <xs:enumeration value="SV" />
1151
+ <xs:enumeration value="GQ" />
1152
+ <xs:enumeration value="ER" />
1153
+ <xs:enumeration value="EE" />
1154
+ <xs:enumeration value="ET" />
1155
+ <xs:enumeration value="FK" />
1156
+ <xs:enumeration value="FO" />
1157
+ <xs:enumeration value="FJ" />
1158
+ <xs:enumeration value="FI" />
1159
+ <xs:enumeration value="FR" />
1160
+ <xs:enumeration value="GF" />
1161
+ <xs:enumeration value="PF" />
1162
+ <xs:enumeration value="TF" />
1163
+ <xs:enumeration value="GA" />
1164
+ <xs:enumeration value="GM" />
1165
+ <xs:enumeration value="GE" />
1166
+ <xs:enumeration value="DE" />
1167
+ <xs:enumeration value="GH" />
1168
+ <xs:enumeration value="GI" />
1169
+ <xs:enumeration value="GR" />
1170
+ <xs:enumeration value="GL" />
1171
+ <xs:enumeration value="GD" />
1172
+ <xs:enumeration value="GP" />
1173
+ <xs:enumeration value="GU" />
1174
+ <xs:enumeration value="GT" />
1175
+ <xs:enumeration value="GG" />
1176
+ <xs:enumeration value="GN" />
1177
+ <xs:enumeration value="GW" />
1178
+ <xs:enumeration value="GY" />
1179
+ <xs:enumeration value="HT" />
1180
+ <xs:enumeration value="HM" />
1181
+ <xs:enumeration value="VA" />
1182
+ <xs:enumeration value="HN" />
1183
+ <xs:enumeration value="HK" />
1184
+ <xs:enumeration value="HU" />
1185
+ <xs:enumeration value="IS" />
1186
+ <xs:enumeration value="IN" />
1187
+ <xs:enumeration value="ID" />
1188
+ <xs:enumeration value="IR" />
1189
+ <xs:enumeration value="IQ" />
1190
+ <xs:enumeration value="IE" />
1191
+ <xs:enumeration value="IM" />
1192
+ <xs:enumeration value="IL" />
1193
+ <xs:enumeration value="IT" />
1194
+ <xs:enumeration value="JM" />
1195
+ <xs:enumeration value="JP" />
1196
+ <xs:enumeration value="JE" />
1197
+ <xs:enumeration value="JO" />
1198
+ <xs:enumeration value="KZ" />
1199
+ <xs:enumeration value="KE" />
1200
+ <xs:enumeration value="KI" />
1201
+ <xs:enumeration value="KP" />
1202
+ <xs:enumeration value="KR" />
1203
+ <xs:enumeration value="KW" />
1204
+ <xs:enumeration value="KG" />
1205
+ <xs:enumeration value="LA" />
1206
+ <xs:enumeration value="LV" />
1207
+ <xs:enumeration value="LB" />
1208
+ <xs:enumeration value="LS" />
1209
+ <xs:enumeration value="LR" />
1210
+ <xs:enumeration value="LY" />
1211
+ <xs:enumeration value="LI" />
1212
+ <xs:enumeration value="LT" />
1213
+ <xs:enumeration value="LU" />
1214
+ <xs:enumeration value="MO" />
1215
+ <xs:enumeration value="MK" />
1216
+ <xs:enumeration value="MG" />
1217
+ <xs:enumeration value="MW" />
1218
+ <xs:enumeration value="MY" />
1219
+ <xs:enumeration value="MV" />
1220
+ <xs:enumeration value="ML" />
1221
+ <xs:enumeration value="MT" />
1222
+ <xs:enumeration value="MH" />
1223
+ <xs:enumeration value="MQ" />
1224
+ <xs:enumeration value="MR" />
1225
+ <xs:enumeration value="MU" />
1226
+ <xs:enumeration value="YT" />
1227
+ <xs:enumeration value="MX" />
1228
+ <xs:enumeration value="FM" />
1229
+ <xs:enumeration value="MD" />
1230
+ <xs:enumeration value="MC" />
1231
+ <xs:enumeration value="MN" />
1232
+ <xs:enumeration value="ME" />
1233
+ <xs:enumeration value="MS" />
1234
+ <xs:enumeration value="MA" />
1235
+ <xs:enumeration value="MZ" />
1236
+ <xs:enumeration value="MM" />
1237
+ <xs:enumeration value="NA" />
1238
+ <xs:enumeration value="NR" />
1239
+ <xs:enumeration value="NP" />
1240
+ <xs:enumeration value="NL" />
1241
+ <xs:enumeration value="NC" />
1242
+ <xs:enumeration value="NZ" />
1243
+ <xs:enumeration value="NI" />
1244
+ <xs:enumeration value="NE" />
1245
+ <xs:enumeration value="NG" />
1246
+ <xs:enumeration value="NU" />
1247
+ <xs:enumeration value="NF" />
1248
+ <xs:enumeration value="MP" />
1249
+ <xs:enumeration value="NO" />
1250
+ <xs:enumeration value="OM" />
1251
+ <xs:enumeration value="PK" />
1252
+ <xs:enumeration value="PW" />
1253
+ <xs:enumeration value="PS" />
1254
+ <xs:enumeration value="PA" />
1255
+ <xs:enumeration value="PG" />
1256
+ <xs:enumeration value="PY" />
1257
+ <xs:enumeration value="PE" />
1258
+ <xs:enumeration value="PH" />
1259
+ <xs:enumeration value="PN" />
1260
+ <xs:enumeration value="PL" />
1261
+ <xs:enumeration value="PT" />
1262
+ <xs:enumeration value="PR" />
1263
+ <xs:enumeration value="QA" />
1264
+ <xs:enumeration value="RE" />
1265
+ <xs:enumeration value="RO" />
1266
+ <xs:enumeration value="RU" />
1267
+ <xs:enumeration value="RW" />
1268
+ <xs:enumeration value="BL" />
1269
+ <xs:enumeration value="SH" />
1270
+ <xs:enumeration value="KN" />
1271
+ <xs:enumeration value="LC" />
1272
+ <xs:enumeration value="MF" />
1273
+ <xs:enumeration value="PM" />
1274
+ <xs:enumeration value="VC" />
1275
+ <xs:enumeration value="WS" />
1276
+ <xs:enumeration value="SM" />
1277
+ <xs:enumeration value="ST" />
1278
+ <xs:enumeration value="SA" />
1279
+ <xs:enumeration value="SN" />
1280
+ <xs:enumeration value="RS" />
1281
+ <xs:enumeration value="SC" />
1282
+ <xs:enumeration value="SL" />
1283
+ <xs:enumeration value="SG" />
1284
+ <xs:enumeration value="SX" />
1285
+ <xs:enumeration value="SK" />
1286
+ <xs:enumeration value="SI" />
1287
+ <xs:enumeration value="SB" />
1288
+ <xs:enumeration value="SO" />
1289
+ <xs:enumeration value="ZA" />
1290
+ <xs:enumeration value="GS" />
1291
+ <xs:enumeration value="SS" />
1292
+ <xs:enumeration value="ES" />
1293
+ <xs:enumeration value="LK" />
1294
+ <xs:enumeration value="SD" />
1295
+ <xs:enumeration value="SR" />
1296
+ <xs:enumeration value="SJ" />
1297
+ <xs:enumeration value="SZ" />
1298
+ <xs:enumeration value="SE" />
1299
+ <xs:enumeration value="CH" />
1300
+ <xs:enumeration value="SY" />
1301
+ <xs:enumeration value="TJ" />
1302
+ <xs:enumeration value="TZ" />
1303
+ <xs:enumeration value="TH" />
1304
+ <xs:enumeration value="TL" />
1305
+ <xs:enumeration value="TG" />
1306
+ <xs:enumeration value="TK" />
1307
+ <xs:enumeration value="TO" />
1308
+ <xs:enumeration value="TT" />
1309
+ <xs:enumeration value="TN" />
1310
+ <xs:enumeration value="TR" />
1311
+ <xs:enumeration value="TM" />
1312
+ <xs:enumeration value="TC" />
1313
+ <xs:enumeration value="TV" />
1314
+ <xs:enumeration value="UG" />
1315
+ <xs:enumeration value="UA" />
1316
+ <xs:enumeration value="AE" />
1317
+ <xs:enumeration value="GB" />
1318
+ <xs:enumeration value="US" />
1319
+ <xs:enumeration value="UM" />
1320
+ <xs:enumeration value="UY" />
1321
+ <xs:enumeration value="UZ" />
1322
+ <xs:enumeration value="VU" />
1323
+ <xs:enumeration value="VE" />
1324
+ <xs:enumeration value="VN" />
1325
+ <xs:enumeration value="VG" />
1326
+ <xs:enumeration value="VI" />
1327
+ <xs:enumeration value="WF" />
1328
+ <xs:enumeration value="EH" />
1329
+ <xs:enumeration value="YE" />
1330
+ <xs:enumeration value="ZM" />
1331
+ <xs:enumeration value="ZW" />
1332
+ <xs:enumeration value="TW" />
1333
+ <xs:enumeration value="XK" />
1334
+ </xs:restriction>
1335
+ </xs:simpleType>
1336
+
1337
+ <xs:simpleType name="iso-3166-country-or-empty">
1338
+ <xs:annotation>
1339
+ <xs:documentation>Contains either a country code or an empty value
1340
+ </xs:documentation>
1341
+ </xs:annotation>
1342
+ <xs:union memberTypes="common:iso-3166-country" />
1343
+ </xs:simpleType>
1344
+
1345
+ <xs:simpleType name="empty">
1346
+ <xs:annotation>
1347
+ <xs:documentation>An empty string</xs:documentation>
1348
+ </xs:annotation>
1349
+ <xs:restriction base="xs:string">
1350
+ <xs:enumeration value="" />
1351
+ </xs:restriction>
1352
+ </xs:simpleType>
1353
+
1354
+ <xs:simpleType name="short-text">
1355
+ <xs:annotation>
1356
+ <xs:documentation>A non-empty string that has a maximum size of 2084
1357
+ characters
1358
+ </xs:documentation>
1359
+ </xs:annotation>
1360
+ <xs:restriction base="xs:string">
1361
+ <xs:maxLength value="500" />
1362
+ </xs:restriction>
1363
+ </xs:simpleType>
1364
+
1365
+ <xs:simpleType name="string-255">
1366
+ <xs:annotation>
1367
+ <xs:documentation>A non-empty string that has a maximum size of 255
1368
+ characters
1369
+ </xs:documentation>
1370
+ </xs:annotation>
1371
+ <xs:restriction base="xs:string">
1372
+ <xs:maxLength value="255" />
1373
+ </xs:restriction>
1374
+ </xs:simpleType>
1375
+
1376
+ <xs:simpleType name="string-1000">
1377
+ <xs:annotation>
1378
+ <xs:documentation>A non-empty string that has a maximum size of 1000
1379
+ characters
1380
+ </xs:documentation>
1381
+ </xs:annotation>
1382
+ <xs:restriction base="common:non-empty-string">
1383
+ <xs:maxLength value="1000" />
1384
+ </xs:restriction>
1385
+ </xs:simpleType>
1386
+
1387
+ <xs:simpleType name="string-2084">
1388
+ <xs:annotation>
1389
+ <xs:documentation>A non-empty string that has a maximum size of 2084
1390
+ characters
1391
+ </xs:documentation>
1392
+ </xs:annotation>
1393
+ <xs:restriction base="common:non-empty-string">
1394
+ <xs:maxLength value="2084" />
1395
+ </xs:restriction>
1396
+ </xs:simpleType>
1397
+
1398
+ <xs:complexType name="string-with-lang-code">
1399
+ <xs:annotation>
1400
+ <xs:documentation>A non-empty string that includes a language code to
1401
+ indicate the language used for the string's value.
1402
+ </xs:documentation>
1403
+ </xs:annotation>
1404
+ <xs:simpleContent>
1405
+ <xs:extension base="common:non-empty-string">
1406
+ <xs:attribute name="language-code" type="common:language-code"
1407
+ use="required" />
1408
+ </xs:extension>
1409
+ </xs:simpleContent>
1410
+ </xs:complexType>
1411
+
1412
+ <xs:simpleType name="short-description">
1413
+ <xs:annotation>
1414
+ <xs:documentation>A short narrative (few sentences) describing the
1415
+ item.
1416
+ </xs:documentation>
1417
+ </xs:annotation>
1418
+ <xs:restriction base="xs:string">
1419
+ <xs:maxLength value="5000"></xs:maxLength>
1420
+ </xs:restriction>
1421
+ </xs:simpleType>
1422
+
1423
+ <xs:complexType name="credit-name">
1424
+ <xs:annotation>
1425
+ <xs:documentation>The name to use for the researcher or contributor
1426
+ when credited or cited, for example, in an article or index, or as a
1427
+ funding contributor. The value of this field also is used as the
1428
+ display name for the researcher or contributor in the ORCID Registry
1429
+ in their ORCID Record, or when listed as a contributor on other
1430
+ ORCID Records. If this element is NULL, given-name family-name will
1431
+ be used for display purposes, with a visibility of "public". The
1432
+ visibility attribute (private, limited or public) can be set at
1433
+ record creation, and indicates who can see this section of
1434
+ information.
1435
+ </xs:documentation>
1436
+ </xs:annotation>
1437
+ <xs:simpleContent>
1438
+ <xs:extension base="common:non-empty-string">
1439
+ <xs:attribute name="visibility" type="common:visibility" />
1440
+ </xs:extension>
1441
+ </xs:simpleContent>
1442
+ </xs:complexType>
1443
+
1444
+ <xs:element name="title" type="common:string-1000">
1445
+ <xs:annotation>
1446
+ <xs:documentation>The main name or title of the work. For a
1447
+ spin-off
1448
+ company, include use the company name
1449
+ </xs:documentation>
1450
+ </xs:annotation>
1451
+ </xs:element>
1452
+
1453
+ <xs:element name="subtitle">
1454
+ <xs:complexType mixed="true">
1455
+ <xs:annotation>
1456
+ <xs:documentation>If the work has a subtitle, include it here.
1457
+ </xs:documentation>
1458
+ </xs:annotation>
1459
+ </xs:complexType>
1460
+ </xs:element>
1461
+
1462
+ <xs:element name="translated-title">
1463
+ <xs:complexType>
1464
+ <xs:annotation>
1465
+ <xs:documentation>The main title of the work or funding translated
1466
+ into another language. The translated language will be included in
1467
+ the &lt;language-code&gt; attribute.
1468
+ </xs:documentation>
1469
+ </xs:annotation>
1470
+ <xs:simpleContent>
1471
+ <xs:restriction base="common:string-with-lang-code">
1472
+ <xs:maxLength value="1000" />
1473
+ </xs:restriction>
1474
+ </xs:simpleContent>
1475
+ </xs:complexType>
1476
+ </xs:element>
1477
+
1478
+ <xs:complexType name="contributor-email">
1479
+ <xs:annotation>
1480
+ <xs:documentation>Email of the collaborator or other contributor.
1481
+ When provided during creation or update, the email address is used
1482
+ to look up and add the contributor's ORCID iD.
1483
+ </xs:documentation>
1484
+ </xs:annotation>
1485
+ <xs:simpleContent>
1486
+ <xs:extension base="common:email" />
1487
+ </xs:simpleContent>
1488
+ </xs:complexType>
1489
+ <xs:complexType name="contributor-attributes">
1490
+ <xs:annotation>
1491
+ <xs:documentation>Provides detail of the nature of the contribution
1492
+ by the collaborator or other contirbutor.
1493
+ </xs:documentation>
1494
+ </xs:annotation>
1495
+ <xs:sequence>
1496
+ <xs:element name="contributor-sequence" type="common:contributor-sequence"
1497
+ minOccurs="0" />
1498
+ <xs:element name="contributor-role" type="common:contributor-role"
1499
+ minOccurs="0" />
1500
+ </xs:sequence>
1501
+ </xs:complexType>
1502
+
1503
+ <xs:simpleType name="contributor-sequence">
1504
+ <xs:annotation>
1505
+ <xs:documentation>Indication of where in the contributor list the
1506
+ collaborator or other contributor's name would appear
1507
+ </xs:documentation>
1508
+ </xs:annotation>
1509
+ <xs:restriction base="xs:string">
1510
+ <xs:enumeration value="first" />
1511
+ <xs:enumeration value="additional" />
1512
+ </xs:restriction>
1513
+ </xs:simpleType>
1514
+
1515
+ <xs:simpleType name="contributor-role">
1516
+ <xs:annotation>
1517
+ <xs:documentation>The role performed by the collaborator or other
1518
+ contributor.
1519
+ </xs:documentation>
1520
+ </xs:annotation>
1521
+
1522
+ <xs:restriction base="xs:string">
1523
+ <xs:enumeration value="author" />
1524
+ <xs:enumeration value="assignee" />
1525
+ <xs:enumeration value="editor" />
1526
+ <xs:enumeration value="chair-or-translator" />
1527
+ <xs:enumeration value="co-investigator" />
1528
+ <xs:enumeration value="co-inventor" />
1529
+ <xs:enumeration value="graduate-student" />
1530
+ <xs:enumeration value="other-inventor" />
1531
+ <xs:enumeration value="principal-investigator" />
1532
+ <xs:enumeration value="postdoctoral-researcher" />
1533
+ <xs:enumeration value="support-staff" />
1534
+ </xs:restriction>
1535
+ </xs:simpleType>
1536
+
1537
+ <xs:simpleType name="group-type">
1538
+ <xs:annotation>
1539
+ <xs:documentation>Indicates the group type for the API client based
1540
+ on the ORCID membership type.
1541
+ </xs:documentation>
1542
+ </xs:annotation>
1543
+ <xs:restriction base="xs:string">
1544
+ <xs:enumeration value="basic" />
1545
+ <xs:enumeration value="premium" />
1546
+ <xs:enumeration value="basic-institution" />
1547
+ <xs:enumeration value="premium-institution" />
1548
+ </xs:restriction>
1549
+ </xs:simpleType>
1550
+
1551
+ <xs:simpleType name="client-type">
1552
+ <xs:annotation>
1553
+ <xs:documentation>Indicates the client type for the API client based
1554
+ on the ORCID membership type.
1555
+ </xs:documentation>
1556
+ </xs:annotation>
1557
+ <xs:restriction base="xs:string">
1558
+ <xs:enumeration value="creator" />
1559
+ <xs:enumeration value="premium-creator" />
1560
+ <xs:enumeration value="updater" />
1561
+ <xs:enumeration value="premium-updater" />
1562
+ </xs:restriction>
1563
+ </xs:simpleType>
1564
+
1565
+ <xs:complexType name="element-summary">
1566
+ <xs:sequence>
1567
+ <xs:element ref="common:created-date" minOccurs="0"
1568
+ maxOccurs="1" />
1569
+ <xs:element ref="common:last-modified-date" minOccurs="0"
1570
+ maxOccurs="1" />
1571
+ <xs:element ref="common:source" minOccurs="0" maxOccurs="1" />
1572
+ </xs:sequence>
1573
+ <xs:attribute name="put-code" type="common:put-code" use="optional" />
1574
+ <xs:attribute name="visibility" type="common:visibility" />
1575
+ <xs:attribute name="display-index" type="xs:string" use="optional" />
1576
+ <xs:attribute name="path" type="common:element-path" use="optional" />
1577
+ </xs:complexType>
1578
+
1579
+ <xs:simpleType name="relationship-type">
1580
+ <xs:annotation>
1581
+ <xs:documentation>Indicates the relationship type.
1582
+ </xs:documentation>
1583
+ </xs:annotation>
1584
+ <xs:restriction base="xs:string">
1585
+ <xs:enumeration value="self" />
1586
+ <xs:enumeration value="part-of" />
1587
+ </xs:restriction>
1588
+ </xs:simpleType>
1589
+
1590
+ <xs:complexType name="external-id">
1591
+ <xs:annotation>
1592
+ <xs:documentation>A reference to an external identifier, suitable for works, people and funding</xs:documentation>
1593
+ </xs:annotation>
1594
+ <xs:complexContent>
1595
+ <xs:extension base="common:element-summary">
1596
+ <xs:sequence>
1597
+ <xs:element name="external-id-type" type="common:non-empty-string" minOccurs="1" maxOccurs="1" />
1598
+ <xs:element name="external-id-value" type="common:non-empty-string" minOccurs="1" maxOccurs="1" />
1599
+ <xs:element name="external-id-url" type="xs:anyURI" minOccurs="0" maxOccurs="1" />
1600
+ <xs:element name="external-id-relationship" minOccurs="0" maxOccurs="1" type="common:relationship-type" />
1601
+ </xs:sequence>
1602
+ </xs:extension>
1603
+ </xs:complexContent>
1604
+ </xs:complexType>
1605
+
1606
+ <xs:complexType name="external-ids">
1607
+ <xs:annotation>
1608
+ <xs:documentation>Container for storing external ids</xs:documentation>
1609
+ </xs:annotation>
1610
+ <xs:sequence>
1611
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="external-id" type="common:external-id" />
1612
+ </xs:sequence>
1613
+ </xs:complexType>
1614
+
1615
+ <xs:simpleType name="group-id">
1616
+ <xs:annotation>
1617
+ <xs:documentation>Identifier for the group that this review should be a part of for aggregation purposes
1618
+ </xs:documentation>
1619
+ </xs:annotation>
1620
+ <xs:restriction base="common:string-1000">
1621
+ <xs:pattern value="(ringgold:|issn:|orcid-generated:|fundref:|publons:)([0-9a-zA-Z\^._~:/?#\[\]@!$&amp;'()*+,;=-]){2,}" />
1622
+ </xs:restriction>
1623
+ </xs:simpleType>
1624
+ </xs:schema>