orcid_client 0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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>