orcid_client 0.8 → 0.9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (146) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/build.yml +39 -0
  3. data/.github/workflows/changelog.yml +36 -0
  4. data/.github/workflows/release.yml +49 -0
  5. data/Gemfile.lock +124 -104
  6. data/lib/orcid_client/api.rb +1 -1
  7. data/lib/orcid_client/external_identifier.rb +1 -1
  8. data/lib/orcid_client/version.rb +1 -1
  9. data/lib/orcid_client/work.rb +1 -1
  10. data/orcid_client.gemspec +1 -1
  11. data/resources/README.md +48 -43
  12. data/resources/common_3.0/common-3.0.xsd +998 -0
  13. data/resources/common_3.0/samples/common-3.0.xml +8 -0
  14. data/resources/common_3.0/samples/common-3.0_external-identifier.xml +11 -0
  15. data/resources/notification_3.0/README.md +130 -0
  16. data/resources/notification_3.0/images/notification-intro.jpg +0 -0
  17. data/resources/notification_3.0/images/notification-subject.jpg +0 -0
  18. data/resources/notification_3.0/notification-custom-3.0.xsd +38 -0
  19. data/resources/notification_3.0/notification-permission-3.0.xsd +134 -0
  20. data/resources/notification_3.0/samples/notification-custom-3.0.xml +27 -0
  21. data/resources/notification_3.0/samples/notification-permission-3.0.xml +58 -0
  22. data/resources/record_3.0/README.md +408 -0
  23. data/resources/record_3.0/activities-3.0.xsd +456 -0
  24. data/resources/record_3.0/address-3.0.xsd +73 -0
  25. data/resources/record_3.0/bulk-3.0.xsd +57 -0
  26. data/resources/record_3.0/distinction-3.0.xsd +51 -0
  27. data/resources/record_3.0/education-3.0.xsd +51 -0
  28. data/resources/record_3.0/email-3.0.xsd +76 -0
  29. data/resources/record_3.0/employment-3.0.xsd +51 -0
  30. data/resources/record_3.0/error-3.0.xsd +84 -0
  31. data/resources/record_3.0/expanded-search-3.0.xsd +114 -0
  32. data/resources/record_3.0/funding-3.0.xsd +204 -0
  33. data/resources/record_3.0/history-3.0.xsd +185 -0
  34. data/resources/record_3.0/invited-position-3.0.xsd +50 -0
  35. data/resources/record_3.0/keyword-3.0.xsd +72 -0
  36. data/resources/record_3.0/membership-3.0.xsd +51 -0
  37. data/resources/record_3.0/other-name-3.0.xsd +78 -0
  38. data/resources/record_3.0/peer-review-3.0.xsd +263 -0
  39. data/resources/record_3.0/person-3.0.xsd +85 -0
  40. data/resources/record_3.0/person-external-identifier-3.0.xsd +63 -0
  41. data/resources/record_3.0/personal-details-3.0.xsd +162 -0
  42. data/resources/record_3.0/preferences-3.0.xsd +50 -0
  43. data/resources/record_3.0/qualification-3.0.xsd +50 -0
  44. data/resources/record_3.0/record-3.0.xsd +91 -0
  45. data/resources/record_3.0/research-resource-3.0.xsd +144 -0
  46. data/resources/record_3.0/researcher-url-3.0.xsd +86 -0
  47. data/resources/record_3.0/samples/read_samples/activities-3.0.xml +742 -0
  48. data/resources/record_3.0/samples/read_samples/address-3.0.xml +16 -0
  49. data/resources/record_3.0/samples/read_samples/addresses-3.0.xml +32 -0
  50. data/resources/record_3.0/samples/read_samples/biography-3.0.xml +10 -0
  51. data/resources/record_3.0/samples/read_samples/bulk-work-err.xml +45 -0
  52. data/resources/record_3.0/samples/read_samples/credit-name-3.0.xml +5 -0
  53. data/resources/record_3.0/samples/read_samples/distinction-3.0.xml +55 -0
  54. data/resources/record_3.0/samples/read_samples/distinctions-3.0.xml +106 -0
  55. data/resources/record_3.0/samples/read_samples/education-3.0.xml +55 -0
  56. data/resources/record_3.0/samples/read_samples/education-full-3.0.xml +55 -0
  57. data/resources/record_3.0/samples/read_samples/educations-3.0.xml +118 -0
  58. data/resources/record_3.0/samples/read_samples/email-3.0.xml +16 -0
  59. data/resources/record_3.0/samples/read_samples/emails-3.0.xml +31 -0
  60. data/resources/record_3.0/samples/read_samples/employment-3.0.xml +55 -0
  61. data/resources/record_3.0/samples/read_samples/employment-full-3.0.xml +55 -0
  62. data/resources/record_3.0/samples/read_samples/employments-3.0.xml +108 -0
  63. data/resources/record_3.0/samples/read_samples/error-3.0.xml +8 -0
  64. data/resources/record_3.0/samples/read_samples/external-identifier-3.0.xml +21 -0
  65. data/resources/record_3.0/samples/read_samples/external-identifiers-3.0.xml +38 -0
  66. data/resources/record_3.0/samples/read_samples/full-record-3.0.json +2332 -0
  67. data/resources/record_3.0/samples/read_samples/funding-3.0.xml +75 -0
  68. data/resources/record_3.0/samples/read_samples/funding-full-3.0.xml +75 -0
  69. data/resources/record_3.0/samples/read_samples/fundings-3.0.xml +139 -0
  70. data/resources/record_3.0/samples/read_samples/history-3.0.xml +22 -0
  71. data/resources/record_3.0/samples/read_samples/invited-position-3.0.xml +55 -0
  72. data/resources/record_3.0/samples/read_samples/invited-positions-3.0.xml +106 -0
  73. data/resources/record_3.0/samples/read_samples/keyword-3.0.xml +18 -0
  74. data/resources/record_3.0/samples/read_samples/keywords-3.0.xml +34 -0
  75. data/resources/record_3.0/samples/read_samples/membership-3.0.xml +55 -0
  76. data/resources/record_3.0/samples/read_samples/memberships-3.0.xml +106 -0
  77. data/resources/record_3.0/samples/read_samples/name-3.0.xml +12 -0
  78. data/resources/record_3.0/samples/read_samples/other-name-3.0.xml +16 -0
  79. data/resources/record_3.0/samples/read_samples/other-names-3.0.xml +31 -0
  80. data/resources/record_3.0/samples/read_samples/peer-review-3.0.xml +59 -0
  81. data/resources/record_3.0/samples/read_samples/peer-review-full-3.0.xml +59 -0
  82. data/resources/record_3.0/samples/read_samples/peer-reviews-3.0.xml +76 -0
  83. data/resources/record_3.0/samples/read_samples/person-3.0.xml +122 -0
  84. data/resources/record_3.0/samples/read_samples/personal-details-3.0.xml +47 -0
  85. data/resources/record_3.0/samples/read_samples/preferences-3.0.xml +4 -0
  86. data/resources/record_3.0/samples/read_samples/qualification-3.0.xml +55 -0
  87. data/resources/record_3.0/samples/read_samples/qualifications-3.0.xml +106 -0
  88. data/resources/record_3.0/samples/read_samples/record-3.0.xml +770 -0
  89. data/resources/record_3.0/samples/read_samples/research-resource-3.0.xml +138 -0
  90. data/resources/record_3.0/samples/read_samples/research-resources-3.0.xml +143 -0
  91. data/resources/record_3.0/samples/read_samples/researcher-url-3.0.xml +19 -0
  92. data/resources/record_3.0/samples/read_samples/researcher-urls-3.0.xml +21 -0
  93. data/resources/record_3.0/samples/read_samples/search-3.0.xml +14 -0
  94. data/resources/record_3.0/samples/read_samples/service-3.0.xml +55 -0
  95. data/resources/record_3.0/samples/read_samples/services-3.0.xml +106 -0
  96. data/resources/record_3.0/samples/read_samples/work-3.0.xml +65 -0
  97. data/resources/record_3.0/samples/read_samples/work-full-3.0.xml +65 -0
  98. data/resources/record_3.0/samples/read_samples/works-3.0.xml +148 -0
  99. data/resources/record_3.0/samples/write_samples/address-3.0.xml +6 -0
  100. data/resources/record_3.0/samples/write_samples/bulk-work-3.0.json +53 -0
  101. data/resources/record_3.0/samples/write_samples/bulk-work-3.0.xml +47 -0
  102. data/resources/record_3.0/samples/write_samples/distinction-3.0.xml +46 -0
  103. data/resources/record_3.0/samples/write_samples/education-3.0.xml +45 -0
  104. data/resources/record_3.0/samples/write_samples/employment-3.0.xml +45 -0
  105. data/resources/record_3.0/samples/write_samples/external-identifier-3.0.xml +11 -0
  106. data/resources/record_3.0/samples/write_samples/funding-3.0.xml +44 -0
  107. data/resources/record_3.0/samples/write_samples/invited-position-3.0.xml +45 -0
  108. data/resources/record_3.0/samples/write_samples/keyword-3.0.xml +7 -0
  109. data/resources/record_3.0/samples/write_samples/membership-3.0.xml +45 -0
  110. data/resources/record_3.0/samples/write_samples/other-name-3.0.xml +6 -0
  111. data/resources/record_3.0/samples/write_samples/peer-review-full-3.0.xml +48 -0
  112. data/resources/record_3.0/samples/write_samples/peer-review-full-award-subject-type-3.0.xml +48 -0
  113. data/resources/record_3.0/samples/write_samples/peer-review-simple-3.0.xml +32 -0
  114. data/resources/record_3.0/samples/write_samples/qualification-3.0.xml +45 -0
  115. data/resources/record_3.0/samples/write_samples/research-resource-3.0.xml +110 -0
  116. data/resources/record_3.0/samples/write_samples/researcher-url-3.0-no-name.xml +6 -0
  117. data/resources/record_3.0/samples/write_samples/researcher-url-3.0.xml +7 -0
  118. data/resources/record_3.0/samples/write_samples/service-3.0.xml +45 -0
  119. data/resources/record_3.0/samples/write_samples/work-full-3.0.xml +60 -0
  120. data/resources/record_3.0/samples/write_samples/work-simple-3.0.xml +18 -0
  121. data/resources/record_3.0/search-3.0.xsd +62 -0
  122. data/resources/record_3.0/service-3.0.xsd +51 -0
  123. data/resources/record_3.0/work-3.0.xsd +269 -0
  124. data/spec/api_spec.rb +2 -2
  125. data/spec/external_identifier_spec.rb +2 -2
  126. data/spec/fixtures/external_identifier.xml +1 -1
  127. data/spec/fixtures/vcr_cassettes/OrcidClient/works/get/should_get_works.yml +19 -10
  128. data/spec/fixtures/vcr_cassettes/OrcidClient/works/post/should_create_work.yml +52 -38
  129. data/spec/fixtures/vcr_cassettes/OrcidClient_Notification/data.yml +35 -28
  130. data/spec/fixtures/vcr_cassettes/OrcidClient_Notification/schema/validates_data.yml +34 -27
  131. data/spec/fixtures/vcr_cassettes/OrcidClient_Notification/schema/validates_item_type_work.yml +29 -37
  132. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/contributors/literal.yml +45 -32
  133. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/contributors/multiple_titles.yml +35 -28
  134. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/contributors/valid.yml +35 -28
  135. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/contributors/with_ORCID_IDs.yml +28 -22
  136. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/data.yml +34 -27
  137. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/publication_date.yml +35 -28
  138. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/schema/validates_ORCID_IDs_for_contributors.yml +29 -23
  139. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/schema/validates_data.yml +34 -27
  140. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/schema/validates_work_from_DataCite_test_system.yml +28 -22
  141. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/schema/validates_work_type_data-set.yml +29 -37
  142. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/user_example/fail/valid.yml +28 -22
  143. data/spec/fixtures/work.xml +1 -1
  144. data/spec/notification_spec.rb +2 -2
  145. data/spec/work_spec.rb +2 -2
  146. metadata +126 -6
@@ -2,7 +2,7 @@ require "uri"
2
2
 
3
3
  module OrcidClient
4
4
  module Api
5
- API_VERSION = "2.1"
5
+ API_VERSION = "3.0"
6
6
 
7
7
  def get_works(options={})
8
8
  return OpenStruct.new(body: { "errors" => [{ "title" => "ORCID access token missing" }] }) unless orcid_token.present?
@@ -45,7 +45,7 @@ module OrcidClient
45
45
  { :'put-code' => put_code,
46
46
  :'visibility' => 'public',
47
47
  :'xmlns:xsi' => 'http://www.w3.org/2001/XMLSchema-instance',
48
- :'xsi:schemaLocation' => 'http://www.orcid.org/ns/external-identifier ../person-external-identifier-2.1.xsd',
48
+ :'xsi:schemaLocation' => 'http://www.orcid.org/ns/external-identifier ../person-external-identifier-3.0.xsd',
49
49
  :'xmlns:common' => 'http://www.orcid.org/ns/common',
50
50
  :'xmlns:external-identifier' => 'http://www.orcid.org/ns/external-identifier' }.compact
51
51
  end
@@ -1,3 +1,3 @@
1
1
  module OrcidClient
2
- VERSION = "0.8"
2
+ VERSION = "0.9"
3
3
  end
@@ -181,7 +181,7 @@ module OrcidClient
181
181
  { :'put-code' => put_code,
182
182
  :'visibility' => 'public',
183
183
  :'xmlns:xsi' => 'http://www.w3.org/2001/XMLSchema-instance',
184
- :'xsi:schemaLocation' => 'http://www.orcid.org/ns/work ../work-2.1.xsd',
184
+ :'xsi:schemaLocation' => 'http://www.orcid.org/ns/work ../work-3.0.xsd',
185
185
  :'xmlns:common' => 'http://www.orcid.org/ns/common',
186
186
  :'xmlns:work' => 'http://www.orcid.org/ns/work' }.compact
187
187
  end
data/orcid_client.gemspec CHANGED
@@ -25,7 +25,7 @@ Gem::Specification.new do |s|
25
25
  s.add_dependency 'dotenv', '~> 2.1', '>= 2.1.1'
26
26
  s.add_dependency 'maremma', '>= 4.4'
27
27
  s.add_dependency 'namae', '~> 1.0.1'
28
- s.add_dependency 'nokogiri', '~> 1.10.4'
28
+ s.add_dependency 'nokogiri', '>= 1.10.4', '< 1.12.0'
29
29
  s.add_development_dependency 'bundler', '~> 1.0'
30
30
  s.add_development_dependency 'codeclimate-test-reporter', '~> 1.0.0'
31
31
  s.add_development_dependency 'rack-test', '~> 0'
data/resources/README.md CHANGED
@@ -1,4 +1,4 @@
1
- ## ORCID Message (XSD) Readme
1
+ ## ORCID Message (XSD) Readme
2
2
 
3
3
  **Contents**
4
4
 
@@ -14,51 +14,55 @@
14
14
 
15
15
  # ORCID XSD information
16
16
 
17
- ##Active XSD versions and base URLs
17
+ ## Active XSD versions and base URLs
18
18
 
19
- #### XSD release version
19
+ ### Current Version
20
+ **[ORCID Message 3.0](https://github.com/ORCID/orcid-model/blob/master/src/main/resources/record_3.0/README.md)**
20
21
 
21
- * **[ORCID Message 2.0](https://github.com/ORCID/ORCID-Source/tree/master/orcid-model/src/main/resources/record_2.0)** - [Documentation](https://github.com/ORCID/ORCID-Source/blob/master/orcid-model/src/main/resources/record_2.0/README.md), [Change log from 1.2](https://members.orcid.org/api/news/xsd-20-update)
22
22
  * API Base URLs - PRODUCTION
23
- * Public API: https://pub.orcid.org/v2.0/
24
- * Member API: https://api.orcid.org/v2.0/
23
+ * Public API: https://pub.orcid.org/v3.0/
24
+ * Member API: https://api.orcid.org/v3.0/
25
25
  * API Base URLs - SANDBOX
26
- * Public API: https://pub.sandbox.orcid.org/v2.0/
27
- * Member API: https://api.sandbox.orcid.org/v2.0/
26
+ * Public API: https://pub.sandbox.orcid.org/v3.0/
27
+ * Member API: https://api.sandbox.orcid.org/v3.0/
28
+
29
+ #### XSD old versions
30
+
31
+ These versions are still supported, but integrations should start planning to move to version 3.0
32
+
33
+ * **[ORCID Message 2.1](https://github.com/ORCID/orcid-model/blob/master/src/main/resources/record_2.1)** - [Documentation](https://github.com/ORCID/orcid-model/blob/master/src/main/resources/record_2.1/README.md)
34
+
35
+ * **[ORCID Message 2.0](https://github.com/ORCID/orcid-model/blob/master/src/main/resources/record_2.0)** - [Documentation](https://github.com/ORCID/orcid-model/blob/master/src/main/resources/record_2.0/README.md), [Change log from 1.2](https://members.orcid.org/api/news/xsd-20-update)
28
36
 
29
37
  #### XSD release candidate(s)
30
38
 
31
- * **[ORCID Message 2.0_rc4](https://github.com/ORCID/ORCID-Source/tree/master/orcid-model/src/main/resources/record_2.0_rc4)** - _Contains: Minor corrections and updates_ <br/>
32
- * **[ORCID Message 2.0_rc3](https://github.com/ORCID/ORCID-Source/tree/master/orcid-model/src/main/resources/record_2.0_rc3)** - _Contains: bulk works, activities section endpoints_ <br/>
33
- * **[ORCID Message 2.0_rc2](https://github.com/ORCID/ORCID-Source/tree/master/orcid-model/src/main/resources/record_2.0_rc2)** - _Contains: Person section, migrates all identifiers to external-identifier_ <br/>
34
- * **[ORCID Message 2.0_rc1](https://github.com/ORCID/ORCID-Source/tree/master/orcid-model/src/main/resources/record_2.0_rc1)** - _Contains: Peer-review, new format XSD for activities_ <br/><br/>
35
- * API Base URLs - PRODUCTION (replace 'X' in the URL with the rc version)
36
- * Public API: https://pub.orcid.org/v2.0_rcX/
37
- * Member API: https://api.orcid.org/v2.0_rcX/
38
- * API Base URLs - SANDBOX
39
- * Public API: https://pub.sandbox.orcid.org/v2.0_rcX/
40
- * Member API: https://api.sandbox.orcid.org/v2.0_rcX/
39
+ If using these release candidates please migrate to the current stable version 3.0
40
+
41
+ * **[ORCID Message 3.0_rc1](https://github.com/ORCID/orcid-model/blob/master/src/main/resources/record_3.0_rc1)** -
42
+
43
+ * **[ORCID Message 3.0_rc2](https://github.com/ORCID/orcid-model/blob/master/src/main/resources/record_3.0_rc2)** -
44
+
41
45
 
42
46
  #### XSD deprecated versions
43
47
 
44
- * **[ORCID Message 1.2](https://github.com/ORCID/ORCID-Source/blob/master/orcid-model/src/main/resources/orcid-message-1.2.xsd)**
45
- * API Base URLs - PRODUCTION
46
- * Public API: https://pub.orcid.org/v1.2/
47
- * Member API: https://api.orcid.org/v1.2/
48
- * API Base URLs - SANDBOX
49
- * Public API: https://pub.sandbox.orcid.org/v1.2/
50
- * Member API: https://api.sandbox.orcid.org/v1.2/
48
+ * **[ORCID Message 2.0_rc4](https://github.com/ORCID/orcid-model/blob/master/src/main/resources/record_2.0_rc4)** - _Contains: Minor corrections and updates_ <br/>
49
+ * **[ORCID Message 2.0_rc3](https://github.com/ORCID/orcid-model/blob/master/src/main/resources/record_2.0_rc3)** - _Contains: bulk works, activities section endpoints_ <br/>
50
+ * **[ORCID Message 2.0_rc2](https://github.com/ORCID/orcid-model/blob/master/src/main/resources/record_2.0_rc2)** - _Contains: Person section, migrates all identifiers to external-identifier_ <br/>
51
+ * **[ORCID Message 2.0_rc1](https://github.com/ORCID/orcid-model/blob/master/src/main/resources/record_2.0_rc1)** - _Contains: Peer-review, new format XSD for activities_ <br/><br/>
52
+
53
+ * **[ORCID Message 1.2](https://github.com/ORCID/orcid-model/blob/master/src/main/resources/orcid-message-1.2.xsd)**
51
54
 
52
55
 
53
56
  #### Sunset versions (unavailable, unsupported, should not be used)
54
57
 
55
58
  * **Version 1.0.x (includes versions 1.0.1 through 1.0.23)** <br>_Sunset Date: March 1, 2014_
56
- * **[ORCID Message 1.1](https://github.com/ORCID/ORCID-Source/blob/master/orcid-model/src/main/resources/orcid-message-1.1.xsd)** <br>_Sunset Date: April 1, 2015_
59
+ * **[ORCID Message 1.1](https://github.com/ORCID/orcid-model/blob/master/src/main/resources/orcid-message-1.1.xsd)** <br>_Sunset Date: April 1, 2015_
60
+ * **Version 1.2.x ** <br>_Sunset Date: Aug 1, 2018_
57
61
 
58
62
  _NOTE:<br />API calls for member to ORCID iD holder authorization using OAuth are not affected by XSD versions. Regardless of the XSD version used, the OAuth endpoints are:_
59
63
 
60
- * _[http://orcid.org/oauth/authorize](http://support.orcid.org/knowledgebase/articles/120107)_
61
- * _[https://orcid.org/oauth/token](http://support.orcid.org/knowledgebase/articles/119985)_
64
+ * _[http://orcid.org/oauth/authorize](https://members.orcid.org/api/oauth/get-oauthauthorize)_
65
+ * _[https://orcid.org/oauth/token](https://members.orcid.org/api/oauth/3legged-oauth)_
62
66
 
63
67
 
64
68
  # About XSD Updates and Versioning
@@ -76,7 +80,7 @@ The XSD version you should use depends on what you are trying to do. Most develo
76
80
 
77
81
  ## Staying informed
78
82
 
79
- You can stay informed of updates to the XSD and API by subscribing to our [API Users Group](https://groups.google.com/forum/?fromgroups#!forum/orcid-api-users) mailing list and forum.
83
+ You can stay informed of updates to the XSD and API by subscribing to our [API Users Group](https://groups.google.com/forum/?fromgroups#!forum/orcid-api-users) mailing list and forum.
80
84
 
81
85
  ## Using XSD versions
82
86
 
@@ -84,11 +88,11 @@ You can stay informed of updates to the XSD and API by subscribing to our [API U
84
88
 
85
89
  The deprecated version(s) of the XSD are former versions of the XSD. If you are using a deprecated version, you should be planning a migration to move to a release version. Other things of note about deprecated versions:
86
90
 
87
- * An XSD that has changed to deprecated status will not be removed immediately, though we are actively encouraging all developers to move to the current release version.
91
+ * An XSD that has changed to deprecated status will not be removed immediately, though we are actively encouraging all developers to move to the current release version.
88
92
  * Developers on deprecated versions should refer to the migration notes to assist in moving to the latest release version.
89
93
  * Future functionality will not be supported in deprecated versions.
90
94
  * Future versions may not be backward compatible with deprecated versions.
91
- * Deprecated versions will have a sunset date”, after which they will no longer be supported. Developers experiencing problems with deprecated versions will be directed to move to the release version.
95
+ * Deprecated versions will have a "sunset date", after which they will no longer be supported. Developers experiencing problems with deprecated versions will be directed to move to the release version.
92
96
 
93
97
  ### <a name="releaseVersion"></a>Release version(s)
94
98
 
@@ -102,7 +106,7 @@ Release versions of the XSD are fully documented, tested, supported and encourag
102
106
 
103
107
  Release candidate versions of the XSD contain elements and data structures for future functionality, potential changes and other enhancements. Of note about release candidates:
104
108
 
105
- * The version number of release candidates will contain rc to indicate that they are release candidates (for example, version 1.2_rc1). The first two numbers indicate the target release version for the candidate. For example, the changes and enhancements in version 1.2_rc1 are being considered for inclusion with release version 1.2.
109
+ * The version number of release candidates will contain "rc" to indicate that they are release candidates (for example, version 1.2_rc1). The first two numbers indicate the target release version for the candidate. For example, the changes and enhancements in version 1.2_rc1 are being considered for inclusion with release version 1.2.
106
110
  * Release candidates are generally unsupported, and have limited documentation.
107
111
  * Elements and data structure within a release candidate XSD could change at any time based on development needs and feedback from early adopters.
108
112
  * We welcome feedback from any developers working with current release candidates.
@@ -112,20 +116,21 @@ Release candidate versions of the XSD contain elements and data structures for f
112
116
 
113
117
  | Version/link | Release Date | Sunset date | Notes | Who should be using this version |
114
118
  | ------------ | ------------ | ----------- | ----- | -------------------------------- |
115
- | [ORCID XSD 2.0](https://github.com/ORCID/ORCID-Source/tree/master/orcid-model/src/main/resources/record_2.0) | Feb 13, 2017 | | **[Release version](#releaseVersion)**<br><br>CURRENT SUPPORTED VERSION<br/>[Change log from 1.2](https://members.orcid.org/api/news/xsd-20-update) |This is the preferred version. All developers should be using or migrating to this version. [Documentation](https://github.com/ORCID/ORCID-Source/blob/master/orcid-model/src/main/resources/record_2.0/README.md)|
116
- | [ORCID XSD 2.0_rc4](https://github.com/ORCID/ORCID-Source/tree/master/orcid-model/src/main/resources/record_2.0_rc4) | Jan 24, 2017 | | **[Release candidate version](#releaseCandidate)**<br><br/>_minor fixes and corrections_ | |
117
- | [ORCID XSD 2.0_rc3](https://github.com/ORCID/ORCID-Source/tree/master/orcid-model/src/main/resources/record_2.0_rc3) | Nov 18, 2016 | | **[Release candidate version](#releaseCandidate)**<br><br/>_adds bulk works_ | |
118
- | [ORCID XSD 2.0_rc2](https://github.com/ORCID/ORCID-Source/tree/master/orcid-model/src/main/resources/record_2.0_rc2) | Jul 20, 2016 | | **[Release candidate version](#releaseCandidate)**<br><br/>_adds person section_ | |
119
- | [ORCID XSD 2.0_rc1](https://github.com/ORCID/ORCID-Source/tree/master/orcid-model/src/main/resources/record_2.0_rc1) | Jul 01, 2015 | | **[Release candidate version](#releaseCandidate)**<br><br/>_adds peer-review section, reformats XSD for activities_ | |
120
- | [ORCID XSD 1.2](https://github.com/ORCID/ORCID-Source/blob/master/orcid-model/src/main/resources/orcid-message-1.2.xsd) | Jan 12, 2015 | Late 2017 | **[Deprecated version](#deprecatedVersion)**<br/><br/> | All developers on this version should migrate to version 2.0 |
121
- | XSD 1.2_rcX | throughout 2014 | Apr 1, 2015 | **[Deprecated versions](#deprecatedVersion)**<br/><br/>[XSD 1.2_rc1](https://github.com/ORCID/ORCID-Source/blob/master/orcid-model/src/main/resources/orcid-message-1.2_rc1.xsd): _adds elements for education or employment affiliations_<br/>[XSD 1.2_rc2](https://github.com/ORCID/ORCID-Source/blob/master/orcid-model/src/main/resources/orcid-message-1.2_rc2.xsd): _updates the options for the creation-method field, and adds elements needed for funding_<br/>[XSD 1.2_rc3](https://github.com/ORCID/ORCID-Source/blob/master/orcid-model/src/main/resources/orcid-message-1.2_rc3.xsd): _restricts the valid language codes to those supported by ORCID, and removes patents as a separate element (included under the works element)_<br/>[XSD 1.2_rc4](https://github.com/ORCID/ORCID-Source/blob/master/orcid-model/src/main/resources/orcid-message-1.2_rc4.xsd): _provides more details about existing elements, email verification info, organization details that create an ORCID record, and funding agency details for funding element_<br/>[XSD 1.2_rc5](https://github.com/ORCID/ORCID-Source/blob/master/orcid-model/src/main/resources/orcid-message-1.2_rc5.xsd): _clarifies elements for data provenance - the data source, creation date and modification date; work external IDs are required_<br/>[XSD 1.2_rc6](https://github.com/ORCID/ORCID-Source/blob/master/orcid-model/src/main/resources/orcid-message-1.2_rc6.xsd): _adds more work types_ | These versions were sunset as of Apr 1, 2015. They are no longer available and should not be used. |
122
- | [ORCID XSD 1.1](https://github.com/ORCID/ORCID-Source/blob/master/orcid-model/src/main/resources/orcid-message-1.1.xsd) | Nov 25, 2013 | Apr 1, 2015 | **[Deprecated version](#deprecatedVersion)**<br><br> | This version was sunset as of Apr 1, 2015. It is no longer available and should not be used. |
123
- | [ORCID XSD 1.0.x](https://github.com/ORCID/ORCID-Source/tree/master/orcid-model/src/main/resources) | various | Mar 1, 2014 | **Sunset version** | These versions were sunset as of March 1, 2014. They are no longer available and should not be used. _(Versions 1.0.1 - 1.0.23)_ |
119
+ | [ORCID XSD 2.1](https://github.com/ORCID/orcid-model/blob/master/src/main/resources/record_2.1) | Nov 17, 2017 | | **[Release version](#releaseVersion)**<br><br>CURRENT SUPPORTED VERSION<br/>*ORCID iDs are expressed in the canonical form with the https prefix* |This is a preferred version. All developers should be using or migrating to this version or 2.0. [Documentation](https://github.com/ORCID/orcid-model/blob/master/src/main/resources/record_2.1/README.md)|
120
+ | [ORCID XSD 2.0](https://github.com/ORCID/orcid-model/blob/master/src/main/resources/record_2.0) | Feb 13, 2017 | | **[Release version](#releaseVersion)**<br><br>CURRENT SUPPORTED VERSION<br/>[Change log from 1.2](https://members.orcid.org/api/news/xsd-20-update) |This is a preferred version. All developers should be using or migrating to this version or 2.1. [Documentation](https://github.com/ORCID/orcid-model/blob/master/src/main/resources/record_2.0/README.md)|
121
+ | [ORCID XSD 2.0_rc4](https://github.com/ORCID/orcid-model/blob/master/src/main/resources/record_2.0_rc4) | Jan 24, 2017 | Spring 2018 | **[Release candidate version](#releaseCandidate)**<br><br/>_minor fixes and corrections_ | |
122
+ | [ORCID XSD 2.0_rc3](https://github.com/ORCID/orcid-model/blob/master/src/main/resources/record_2.0_rc3) | Nov 18, 2016 | Spring 2018 | **[Release candidate version](#releaseCandidate)**<br><br/>_adds bulk works_ | |
123
+ | [ORCID XSD 2.0_rc2](https://github.com/ORCID/orcid-model/blob/master/src/main/resources/record_2.0_rc2) | Jul 20, 2016 | Spring 2018 | **[Release candidate version](#releaseCandidate)**<br><br/>_adds person section_ | |
124
+ | [ORCID XSD 2.0_rc1](https://github.com/ORCID/orcid-model/blob/master/src/main/resources/record_2.0_rc1) | Jul 01, 2015 | Spring 2018 | **[Release candidate version](#releaseCandidate)**<br><br/>_adds peer-review section, reformats XSD for activities_ | |
125
+ | [ORCID XSD 1.2](https://github.com/ORCID/orcid-model/blob/master/src/main/resources/orcid-message-1.2.xsd) | Jan 12, 2015 | August 1st 2018 | **[Deprecated version](#deprecatedVersion)**<br/><br/> | All developers on this version should migrate to version 2.0 |
126
+ | XSD 1.2_rcX | throughout 2014 | Apr 1, 2015 | **[Deprecated versions](#deprecatedVersion)**<br/><br/>[XSD 1.2_rc1](https://github.com/ORCID/orcid-model/blob/master/src/main/resources/orcid-message-1.2_rc1.xsd): _adds elements for education or employment affiliations_<br/>[XSD 1.2_rc2](https://github.com/ORCID/orcid-model/blob/master/src/main/resources/orcid-message-1.2_rc2.xsd): _updates the options for the creation-method field, and adds elements needed for funding_<br/>[XSD 1.2_rc3](https://github.com/ORCID/orcid-model/blob/master/src/main/resources/orcid-message-1.2_rc3.xsd): _restricts the valid language codes to those supported by ORCID, and removes patents as a separate element (included under the works element)_<br/>[XSD 1.2_rc4](https://github.com/ORCID/orcid-model/blob/master/src/main/resources/orcid-message-1.2_rc4.xsd): _provides more details about existing elements, email verification info, organization details that create an ORCID record, and funding agency details for funding element_<br/>[XSD 1.2_rc5](https://github.com/ORCID/orcid-model/blob/master/src/main/resources/orcid-message-1.2_rc5.xsd): _clarifies elements for data provenance - the data source, creation date and modification date; work external IDs are required_<br/>[XSD 1.2_rc6](https://github.com/ORCID/orcid-model/blob/master/src/main/resources/orcid-message-1.2_rc6.xsd): _adds more work types_ | These versions were sunset as of Apr 1, 2015. They are no longer available and should not be used. |
127
+ | [ORCID XSD 1.1](https://github.com/ORCID/orcid-model/blob/master/src/main/resources/orcid-message-1.1.xsd) | Nov 25, 2013 | Apr 1, 2015 | **[Deprecated version](#deprecatedVersion)**<br><br> | This version was sunset as of Apr 1, 2015. It is no longer available and should not be used. |
128
+ | [ORCID XSD 1.0.x](https://github.com/ORCID/orcid-model/blob/master/src/main/resources) | various | Mar 1, 2014 | **Sunset version** | These versions were sunset as of March 1, 2014. They are no longer available and should not be used. _(Versions 1.0.1 - 1.0.23)_ |
124
129
 
125
130
  # Getting help
126
131
 
127
- Technical documentation is included with the read-me file for each version. [Current release documentation](https://github.com/ORCID/ORCID-Source/blob/master/orcid-model/src/main/resources/record_2.0/README.md)
132
+ Technical documentation is included with the read-me file for each version. [Current release documentation](https://github.com/ORCID/orcid-model/blob/master/src/main/resources/record_2.1/README.md)
128
133
 
129
- The [ORCID Member Support Site](https://members.orcid.org) has additional documentation, tutorials and guides, as well as contact for our support team.
134
+ The [ORCID Member Support Site](https://members.orcid.org) has additional documentation, tutorials and guides, as well as contact for our support team.
130
135
 
131
136
  We also invite you to submit questions to the [API Users Group](https://groups.google.com/forum/?fromgroups#!forum/orcid-api-users) mailing list and forum.
@@ -0,0 +1,998 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:sch="http://purl.oclc.org/dsdl/schematron" elementFormDefault="qualified" targetNamespace="http://www.orcid.org/ns/common" xmlns:common="http://www.orcid.org/ns/common">
3
+ <xs:annotation>
4
+ <xs:documentation>
5
+ =============================================================================
6
+
7
+ ORCID (R) Open Source
8
+ http://orcid.org
9
+
10
+ Copyright (c) 2012-2014 ORCID,
11
+ Inc.
12
+ Licensed under an MIT-Style License (MIT)
13
+ http://orcid.org/open-source-license
14
+
15
+ This copyright and license
16
+ information (including a link to the full
17
+ license)
18
+ shall be included in
19
+ its entirety in all copies or substantial portion of
20
+ the software.
21
+
22
+ =============================================================================
23
+ The schema describes the message format used for ORCID API requests
24
+ and responses.
25
+ The top level element is orcid-message.
26
+ </xs:documentation>
27
+ <xs:appinfo>
28
+ <sch:title>Schematron validation</sch:title>
29
+ <sch:ns prefix="orcid" uri="http://www.orcid.org/ns/orcid" />
30
+ </xs:appinfo>
31
+ </xs:annotation>
32
+
33
+ <xs:element name="last-modified-date">
34
+ <xs:complexType>
35
+ <xs:annotation>
36
+ <xs:documentation>The date time when the element was last modified.
37
+ </xs:documentation>
38
+ </xs:annotation>
39
+ <xs:simpleContent>
40
+ <xs:extension base="xs:dateTime" />
41
+ </xs:simpleContent>
42
+ </xs:complexType>
43
+ </xs:element>
44
+
45
+ <xs:element name="created-date">
46
+ <xs:complexType>
47
+ <xs:annotation>
48
+ <xs:documentation>The date time when element was created.
49
+ </xs:documentation>
50
+ </xs:annotation>
51
+ <xs:simpleContent>
52
+ <xs:extension base="xs:dateTime" />
53
+ </xs:simpleContent>
54
+ </xs:complexType>
55
+ </xs:element>
56
+
57
+ <xs:element name="read-date">
58
+ <xs:complexType>
59
+ <xs:annotation>
60
+ <xs:documentation>The date time when element was first read by the user.
61
+ </xs:documentation>
62
+ </xs:annotation>
63
+ <xs:simpleContent>
64
+ <xs:extension base="xs:dateTime" />
65
+ </xs:simpleContent>
66
+ </xs:complexType>
67
+ </xs:element>
68
+
69
+ <xs:element name="archived-date">
70
+ <xs:complexType>
71
+ <xs:annotation>
72
+ <xs:documentation>The date time when element was archived.
73
+ </xs:documentation>
74
+ </xs:annotation>
75
+ <xs:simpleContent>
76
+ <xs:extension base="xs:dateTime" />
77
+ </xs:simpleContent>
78
+ </xs:complexType>
79
+ </xs:element>
80
+
81
+ <xs:element name="sent-date">
82
+ <xs:complexType>
83
+ <xs:annotation>
84
+ <xs:documentation>The date time when element was sent to the user.
85
+ </xs:documentation>
86
+ </xs:annotation>
87
+ <xs:simpleContent>
88
+ <xs:extension base="xs:dateTime" />
89
+ </xs:simpleContent>
90
+ </xs:complexType>
91
+ </xs:element>
92
+
93
+ <xs:element name="approval-date">
94
+ <xs:complexType>
95
+ <xs:annotation>
96
+ <xs:documentation>The date time when element was approved.
97
+ </xs:documentation>
98
+ </xs:annotation>
99
+ <xs:simpleContent>
100
+ <xs:extension base="xs:dateTime" />
101
+ </xs:simpleContent>
102
+ </xs:complexType>
103
+ </xs:element>
104
+
105
+ <xs:element name="source" type="common:source-type" />
106
+
107
+ <xs:element name="external-ids" type="common:external-ids" />
108
+ <xs:element name="external-id" type="common:external-id" />
109
+
110
+ <xs:complexType name="source-type">
111
+ <xs:annotation>
112
+ <xs:documentation>The client application (Member organization's
113
+ system) or user that created the item. XSD VERSION 1.2 UPDATE: the
114
+ identifier for the source may be either an ORCID iD (representing
115
+ individuals and legacy client applications) or a Client ID
116
+ (representing all newer client applications)
117
+ </xs:documentation>
118
+ </xs:annotation>
119
+ <xs:sequence>
120
+ <xs:choice minOccurs="0">
121
+ <xs:element ref="common:source-orcid">
122
+ <xs:annotation>
123
+ <xs:documentation>The ORCID identifier for the individual user (or
124
+ legacy client application) that created the item. For identifiers
125
+ of
126
+ individual users, it may be used to look up ORCID record
127
+ details via
128
+ the API.
129
+ </xs:documentation>
130
+ </xs:annotation>
131
+ </xs:element>
132
+ <xs:element name="source-client-id" type="common:client-id">
133
+ <xs:annotation>
134
+ <xs:documentation>The client ID for the client application (Member
135
+ organization system) that created the item.
136
+ </xs:documentation>
137
+ </xs:annotation>
138
+ </xs:element>
139
+ </xs:choice>
140
+ <xs:element name="source-name" type="common:source-name" minOccurs="0" />
141
+
142
+ <xs:choice minOccurs="0">
143
+ <xs:element name="assertion-origin-orcid" type="common:orcid-id">
144
+ <xs:annotation>
145
+ <xs:documentation>The ORCID identifier for the individual user (or
146
+ legacy client application) made the assertion.
147
+ If missing, source is the same as assertion origin.
148
+ </xs:documentation>
149
+ </xs:annotation>
150
+ </xs:element>
151
+ <xs:element name="assertion-origin-client-id" type="common:client-id">
152
+ <xs:annotation>
153
+ <xs:documentation>The client ID for the client application (Member
154
+ organization system) that made the assertion.
155
+ If missing, source is the same as assertion origin.
156
+ </xs:documentation>
157
+ </xs:annotation>
158
+ </xs:element>
159
+ </xs:choice>
160
+ <xs:element name="assertion-origin-name" type="common:source-name" minOccurs="0" />
161
+
162
+ </xs:sequence>
163
+ </xs:complexType>
164
+
165
+ <xs:complexType name="source-name" mixed="true">
166
+ <xs:annotation>
167
+ <xs:documentation>The human-readable name of the client application
168
+ (Member organization system) or individual user that created the
169
+ item. Value for the same person/organization could change over time.
170
+ source-orcid or source-client-id fields are more appropriate for
171
+ disambiguated matching.
172
+ </xs:documentation>
173
+ </xs:annotation>
174
+ </xs:complexType>
175
+
176
+ <xs:complexType name="organization">
177
+ <xs:annotation>
178
+ <xs:documentation>A reference to an organization. An organization should
179
+ contain a disambiguated organization, which uniquely identifies the
180
+ organization. While the schema does not enforce the presence of a
181
+ disambiguated organization, it is only optional for peer review
182
+ convening organizations. A disambiguated organization is mandatory in
183
+ all other cases where organization is required in the schema.
184
+ </xs:documentation>
185
+ </xs:annotation>
186
+
187
+ <xs:sequence>
188
+ <xs:element name="name" type="common:long-text" />
189
+ <xs:element name="address" type="common:organization-address" />
190
+ <xs:element name="disambiguated-organization" type="common:disambiguated-organization" minOccurs="0" maxOccurs="1" />
191
+ </xs:sequence>
192
+ </xs:complexType>
193
+
194
+ <xs:element name="organization" type="common:organization" />
195
+
196
+ <xs:complexType name="organization-address">
197
+ <xs:annotation>
198
+ <xs:documentation>Container for organization location information
199
+ </xs:documentation>
200
+ </xs:annotation>
201
+ <xs:sequence>
202
+ <xs:element minOccurs="1" name="city" type="common:long-text">
203
+ <xs:annotation>
204
+ <xs:documentation>City</xs:documentation>
205
+ </xs:annotation>
206
+ </xs:element>
207
+ <xs:element minOccurs="0" name="region" type="common:long-text">
208
+ <xs:annotation>
209
+ <xs:documentation>Region within a country</xs:documentation>
210
+ </xs:annotation>
211
+ </xs:element>
212
+ <xs:element minOccurs="1" name="country" type="common:iso-3166-country" />
213
+ </xs:sequence>
214
+ </xs:complexType>
215
+
216
+ <xs:complexType name="disambiguated-organization">
217
+ <xs:annotation>
218
+ <xs:documentation>A reference to a disambiguated version the
219
+ organization to which the researcher or contributor is affiliated.
220
+ The list of disambiguated organizations come from ORCID partners
221
+ such as Ringgold, ISNI and FundRef.
222
+ </xs:documentation>
223
+ </xs:annotation>
224
+ <xs:sequence>
225
+ <xs:element name="disambiguated-organization-identifier" type="common:short-text">
226
+ <xs:annotation>
227
+ <xs:documentation>The disambiguated organization identifier.
228
+ </xs:documentation>
229
+ </xs:annotation>
230
+ </xs:element>
231
+ <xs:element name="disambiguation-source" type="common:short-text">
232
+ <xs:annotation>
233
+ <xs:documentation>The source for providing the disambiguated
234
+ organization ID. For the list of allowed sources see https://github.com/ORCID/ORCID-Source/blob/master/orcid-core/src/main/java/org/orcid/core/orgs/OrgDisambiguatedSourceType.java
235
+ </xs:documentation>
236
+ </xs:annotation>
237
+ </xs:element>
238
+ </xs:sequence>
239
+ </xs:complexType>
240
+
241
+ <xs:simpleType name="locale">
242
+ <xs:annotation>
243
+ <xs:documentation>For the up to date supported locale list see https://github.com/ORCID/ORCID-Source/SUPPORTED_LOCALES.md</xs:documentation>
244
+ </xs:annotation>
245
+ <xs:restriction base="xs:string">
246
+ <xs:pattern value="[a-zA-Z]{1,8}((-|_)[a-zA-Z0-9]{1,8})*" />
247
+ </xs:restriction>
248
+ </xs:simpleType>
249
+
250
+ <xs:simpleType name="non-empty-string">
251
+ <xs:annotation>
252
+ <xs:documentation>Must contain one or more charaters that are not a
253
+ space, carriage return or linefeed
254
+ </xs:documentation>
255
+ </xs:annotation>
256
+ <xs:restriction base="xs:string">
257
+ <xs:pattern value="[\s\S]*[^\s\n\r]+[\s\S]*" />
258
+ </xs:restriction>
259
+ </xs:simpleType>
260
+
261
+ <xs:complexType name="transient-non-empty-string">
262
+ <xs:annotation>
263
+ <xs:documentation>A string that is flagged as transient
264
+ i.e. populated by ORCID, not the source.
265
+ </xs:documentation>
266
+ </xs:annotation>
267
+ <xs:simpleContent>
268
+ <xs:extension base="common:non-empty-string">
269
+ <xs:attribute name="transient" use="required">
270
+ <xs:simpleType>
271
+ <xs:restriction base="xs:boolean">
272
+ <xs:pattern value="true" />
273
+ </xs:restriction>
274
+ </xs:simpleType>
275
+ </xs:attribute>
276
+ </xs:extension>
277
+ </xs:simpleContent>
278
+ </xs:complexType>
279
+
280
+ <xs:complexType name="transient-error">
281
+ <xs:annotation>
282
+ <xs:documentation>An error that populated by ORCID when record is read
283
+ </xs:documentation>
284
+ </xs:annotation>
285
+ <xs:sequence>
286
+ <xs:element name="error-code" type="common:non-empty-string" minOccurs="0" maxOccurs="1" />
287
+ <xs:element name="error-message" type="common:non-empty-string" minOccurs="0" maxOccurs="1" />
288
+ </xs:sequence>
289
+ <xs:attribute name="transient" use="required">
290
+ <xs:simpleType>
291
+ <xs:restriction base="xs:boolean">
292
+ <xs:pattern value="true" />
293
+ </xs:restriction>
294
+ </xs:simpleType>
295
+ </xs:attribute>
296
+ </xs:complexType>
297
+
298
+ <xs:complexType name="amount">
299
+ <xs:annotation>
300
+ <xs:documentation>The funding amount.
301
+ </xs:documentation>
302
+ </xs:annotation>
303
+
304
+ <xs:simpleContent>
305
+ <xs:extension base="xs:string">
306
+ <xs:attribute name="currency-code" type="common:currency-code" use="required" />
307
+ </xs:extension>
308
+ </xs:simpleContent>
309
+ </xs:complexType>
310
+
311
+ <xs:simpleType name="currency-code">
312
+ <xs:annotation>
313
+ <xs:documentation>
314
+ The currency code used for funding amounts, from the ISO 4217 list
315
+ https://www.iso.org/iso-4217-currency-codes.html .
316
+ ORCID will validate this value against the enumeration
317
+ java.util.Currency (https://docs.oracle.com/javase/8/docs/api/java/util/Currency.html) and other rules when necessary.
318
+ </xs:documentation>
319
+ </xs:annotation>
320
+ <xs:restriction base="xs:string" />
321
+ </xs:simpleType>
322
+
323
+ <xs:simpleType name="organization-defined-type">
324
+ <xs:annotation>
325
+ <xs:documentation>Container for a organization defined type for an
326
+ external identifier.
327
+ </xs:documentation>
328
+ </xs:annotation>
329
+ <xs:restriction base="common:string-255"></xs:restriction>
330
+ </xs:simpleType>
331
+
332
+ <xs:element name="language-code" type="common:language-code"></xs:element>
333
+
334
+ <xs:simpleType name="language-code">
335
+ <xs:annotation>
336
+ <xs:documentation>A code to identify the language
337
+ that a field value is expressed in, selected from the following options:
338
+ ab, aa, af, ak, sq, am, ar, an, hy, as, av, ae, ay, az, bm, ba, eu, be, bn, bh, bi, bs, br, bg, my, ca, ch, ce, zh_CN, zh_TW, cu, cv, kw, co, cr, hr, cs, da, dv, nl, dz, en, eo, et, ee, fo, fj, fi, fr, fy, ff, gl, lg, ka, de, el, kl, gn, gu, ht, ha, iw, hz, hi, ho, hu, is, io, ig, in, ia, ie, iu, ik, ga, it, ja, jv, kn, kr, ks, kk, km, ki, rw, ky, kv, kg, ko, ku, kj, lo, la, lv, li, ln, lt, lu, lb, mk, mg, ms, ml, mt, gv, mi, mr, mh, mo, mn, na, nv, ng, ne, nd, se, no, nb, nn, ny, oc, oj, or, om, os, pi, pa, fa, pl, pt, ps, qu, rm, ro, rn, ru, sm, sg, sa, sc, gd, sr, sn, ii, sd, si, sk, sl, so, nr, st, es, su, sw, ss, sv, tl, ty, tg, ta, tt, te, th, bo, ti, to, ts, tn, tr, tk, tw, ug, uk, ur, uz, ve, vi, vo, wa, cy, wo, xh, ji, yo, za, zu
339
+ ORCID will validate this value against the enumeration https://github.com/ORCID/orcid-model/blob/master/src/main/java/org/orcid/jaxb/model/common/LanguageCode.java and other rules when necessary.
340
+ </xs:documentation>
341
+ </xs:annotation>
342
+ <xs:restriction base="xs:string" />
343
+ </xs:simpleType>
344
+
345
+ <xs:complexType name="url">
346
+ <xs:annotation>
347
+ <xs:documentation>Represents a URL in the XML anyURI format
348
+ </xs:documentation>
349
+ </xs:annotation>
350
+ <xs:simpleContent>
351
+ <xs:extension base="xs:anyURI" />
352
+ </xs:simpleContent>
353
+ </xs:complexType>
354
+
355
+ <xs:element name="url" type="common:url" />
356
+
357
+ <xs:complexType name="address">
358
+ <xs:annotation>
359
+ <xs:documentation>Container for address information. Only country
360
+ information is included at this time.
361
+ </xs:documentation>
362
+ </xs:annotation>
363
+ <xs:sequence>
364
+ <xs:element minOccurs="0" ref="common:country" />
365
+ </xs:sequence>
366
+ </xs:complexType>
367
+
368
+ <xs:element name="country">
369
+ <xs:complexType>
370
+ <xs:annotation>
371
+ <xs:documentation>Country represented by its ISO 3611 code. The
372
+ visibility attribute (private, limited or public) can be set at
373
+ record creation, and indicates who can see this section of
374
+ information.
375
+ </xs:documentation>
376
+ </xs:annotation>
377
+ <xs:simpleContent>
378
+ <xs:extension base="common:iso-3166-country-or-empty">
379
+ <xs:attribute name="visibility" type="common:visibility" />
380
+ </xs:extension>
381
+ </xs:simpleContent>
382
+ </xs:complexType>
383
+ </xs:element>
384
+
385
+ <xs:simpleType name="orcid-path">
386
+ <xs:annotation>
387
+ <xs:documentation>Path for the ORCID iD.
388
+ </xs:documentation>
389
+ </xs:annotation>
390
+ <xs:restriction base="xs:string">
391
+ <xs:pattern value="(\d{4}-){3,}\d{3}[\dX]" />
392
+ </xs:restriction>
393
+ </xs:simpleType>
394
+
395
+ <xs:simpleType name="orcid-uri">
396
+ <xs:annotation>
397
+ <xs:documentation>ORCID URI for the ORCID iD.
398
+ </xs:documentation>
399
+ </xs:annotation>
400
+ <xs:restriction base="xs:string">
401
+ <xs:pattern value="https://([^/]*orcid\.org|localhost.*/orcid-web)/(\d{4}-){3,}\d{3}[\dX]" />
402
+ </xs:restriction>
403
+ </xs:simpleType>
404
+
405
+ <xs:element name="application-group-orcid" type="common:orcid-id" />
406
+ <xs:element name="application-orcid" type="common:orcid-id" />
407
+ <xs:element name="orcid-identifier" type="common:orcid-id" />
408
+ <xs:element name="contributor-orcid" type="common:orcid-id" />
409
+ <xs:element name="group-orcid-identifier" type="common:orcid-id" />
410
+ <xs:element name="source-orcid" type="common:orcid-id" />
411
+ <xs:element name="orcid-id" type="common:orcid-id" />
412
+ <xs:complexType name="orcid-id">
413
+ <xs:annotation>
414
+ <xs:documentation>The identifier of the researcher or contributor in
415
+ ORCID (the ORCID iD). At least one of uri or path must be given.
416
+ NOTE: this type is also used for legacy client IDs.
417
+ </xs:documentation>
418
+ </xs:annotation>
419
+ <xs:sequence>
420
+ <xs:choice>
421
+ <xs:sequence>
422
+ <xs:element name="uri" type="common:orcid-uri">
423
+ <xs:annotation>
424
+ <xs:documentation>ORCID iD in URI form (preferred).
425
+ </xs:documentation>
426
+ </xs:annotation>
427
+ </xs:element>
428
+ <xs:element name="path" type="common:orcid-path" minOccurs="0">
429
+ <xs:annotation>
430
+ <xs:documentation>ORCID path (16-character identifier) of the
431
+ ORCID iD.
432
+ </xs:documentation>
433
+ </xs:annotation>
434
+ </xs:element>
435
+ </xs:sequence>
436
+ <xs:element name="path" type="common:orcid-path">
437
+ <xs:annotation>
438
+ <xs:documentation>ORCID path (16-character identifier) of the
439
+ ORCID iD.
440
+ </xs:documentation>
441
+ </xs:annotation>
442
+ </xs:element>
443
+ </xs:choice>
444
+ <xs:element name="host" type="xs:string" minOccurs="0">
445
+ <xs:annotation>
446
+ <xs:documentation>ORCID host (base URL) of the ORCID iD.
447
+ </xs:documentation>
448
+ </xs:annotation>
449
+ </xs:element>
450
+ </xs:sequence>
451
+ </xs:complexType>
452
+
453
+ <xs:simpleType name="client-path">
454
+ <xs:annotation>
455
+ <xs:documentation>Path for the API client ID.
456
+ </xs:documentation>
457
+ </xs:annotation>
458
+ <xs:restriction base="xs:string">
459
+ <xs:pattern value="(APP-[\da-zA-Z]{16}|(\d{4}-){3,}\d{3}[\dX])" />
460
+ </xs:restriction>
461
+ </xs:simpleType>
462
+
463
+ <xs:simpleType name="client-uri">
464
+ <xs:annotation>
465
+ <xs:documentation>ORCID URI for the API client ID.
466
+ </xs:documentation>
467
+ </xs:annotation>
468
+ <xs:restriction base="xs:string">
469
+ <xs:pattern value="https://([^/]*orcid\.org|localhost.*/orcid-web)/client/(APP-[\da-zA-Z]{16}|(\d{4}-){3,}\d{3}[\dX])" />
470
+ </xs:restriction>
471
+ </xs:simpleType>
472
+
473
+ <xs:complexType name="client-id">
474
+ <xs:annotation>
475
+ <xs:documentation>The identifier of an ORCID API client app. At least
476
+ one of uri or path must be given. NOTE: legacy API clients still may
477
+ be identified by the orcid-id type.
478
+ </xs:documentation>
479
+ </xs:annotation>
480
+ <xs:sequence>
481
+ <xs:choice>
482
+ <xs:sequence>
483
+ <xs:element name="uri" type="common:client-uri" />
484
+ <xs:element name="path" type="common:client-path" minOccurs="0" />
485
+ </xs:sequence>
486
+ <xs:element name="path" type="common:client-path" />
487
+ </xs:choice>
488
+ <xs:element name="host" type="xs:string" minOccurs="0">
489
+ <xs:annotation>
490
+ <xs:documentation>ORCID host (base URL) of the ORCID iD.
491
+ </xs:documentation>
492
+ </xs:annotation>
493
+ </xs:element>
494
+ </xs:sequence>
495
+ </xs:complexType>
496
+
497
+ <xs:simpleType name="put-code">
498
+ <xs:annotation>
499
+ <xs:documentation>The put-code attribute is present only when reading
500
+ elements. The code must be used when PUTing (updating) items that
501
+ contain the attribute (works, affiliations, etc) to ensure that the
502
+ existing item's history is retained.
503
+ </xs:documentation>
504
+ </xs:annotation>
505
+ <xs:restriction base="xs:integer"></xs:restriction>
506
+ </xs:simpleType>
507
+
508
+ <xs:simpleType name="element-path">
509
+ <xs:annotation>
510
+ <xs:documentation>The activity-path attribute is present only when
511
+ reading elements. It will be of the form /{orcid}/{activity-name}/{put-code} for
512
+ activity elements or /{orcid}/person/{element-name}/{put-code} for person element
513
+ </xs:documentation>
514
+ </xs:annotation>
515
+ <xs:restriction base="xs:string"></xs:restriction>
516
+ </xs:simpleType>
517
+
518
+ <xs:simpleType name="visibility">
519
+ <xs:annotation>
520
+ <xs:documentation>Indicates who can see the value of the element when
521
+ reading the ORCID record. See the enumerations for definitions of
522
+ each value, private, limited, public, registered-only.
523
+ </xs:documentation>
524
+ </xs:annotation>
525
+ <xs:restriction base="xs:string">
526
+ <xs:enumeration value="private">
527
+ <xs:annotation>
528
+ <xs:documentation>The data can only be seen by the researcher or
529
+ contributor. This data may be used internally by ORCID for Record
530
+ disambiguation purposes.
531
+ </xs:documentation>
532
+ </xs:annotation>
533
+ </xs:enumeration>
534
+ <xs:enumeration value="limited">
535
+ <xs:annotation>
536
+ <xs:documentation>The data can only be seen by trusted parties
537
+ (organizations or people) as indicated by the researcher or
538
+ contributor. This information is only shared with systems that the
539
+ researcher or contributor has specifically granted authorization
540
+ (using OAuth).
541
+ </xs:documentation>
542
+ </xs:annotation>
543
+ </xs:enumeration>
544
+ <xs:enumeration value="public">
545
+ <xs:annotation>
546
+ <xs:documentation>The data can be seen by anyone. It is publically
547
+ available via the ORCID Registry website and the public API
548
+ without further authroization by the researcher or contributor.
549
+ </xs:documentation>
550
+ </xs:annotation>
551
+ </xs:enumeration>
552
+ <xs:enumeration value="registered-only">
553
+ <xs:annotation>
554
+ <xs:documentation>The data is shared only with the registered user.
555
+ </xs:documentation>
556
+ </xs:annotation>
557
+ </xs:enumeration>
558
+ </xs:restriction>
559
+ </xs:simpleType>
560
+
561
+ <xs:simpleType name="email">
562
+ <xs:annotation>
563
+ <xs:documentation>Type to represent an email address.
564
+ </xs:documentation>
565
+ </xs:annotation>
566
+ <xs:restriction base="xs:string">
567
+ <xs:maxLength value="350" />
568
+ <xs:pattern value="[^@]+@[^\.]+\..+" />
569
+ </xs:restriction>
570
+ </xs:simpleType>
571
+
572
+ <xs:simpleType name="year">
573
+ <xs:annotation>
574
+ <xs:documentation>4-digit integer representing a year of a date.
575
+ </xs:documentation>
576
+ </xs:annotation>
577
+ <xs:restriction base="xs:integer">
578
+ <xs:minInclusive value="1900" />
579
+ <xs:maxInclusive value="2100" />
580
+ </xs:restriction>
581
+ </xs:simpleType>
582
+
583
+ <xs:simpleType name="month">
584
+ <xs:annotation>
585
+ <xs:documentation>2-digit integer representing a month of a date.
586
+ </xs:documentation>
587
+ </xs:annotation>
588
+ <xs:restriction base="xs:integer">
589
+ <xs:minInclusive value="1" />
590
+ <xs:maxInclusive value="12" />
591
+ </xs:restriction>
592
+ </xs:simpleType>
593
+
594
+ <xs:simpleType name="day">
595
+ <xs:annotation>
596
+ <xs:documentation>2-digit integer representing a day of a date.
597
+ </xs:documentation>
598
+ </xs:annotation>
599
+ <xs:restriction base="xs:integer">
600
+ <xs:minInclusive value="1" />
601
+ <xs:maxInclusive value="31" />
602
+ </xs:restriction>
603
+ </xs:simpleType>
604
+
605
+ <xs:element name="fuzzy-date" type="common:fuzzy-date" />
606
+ <xs:element name="start-date" type="common:fuzzy-date" />
607
+ <xs:element name="end-date" type="common:fuzzy-date" />
608
+ <xs:element name="publication-date" type="common:fuzzy-date" />
609
+ <xs:complexType name="fuzzy-date">
610
+ <xs:annotation>
611
+ <xs:documentation>In some places the full date is not required.
612
+ </xs:documentation>
613
+ </xs:annotation>
614
+ <xs:sequence>
615
+ <xs:element name="year">
616
+ <xs:annotation>
617
+ <xs:documentation>Used with the fuzzy-date type. Represents the
618
+ year
619
+ of the date.
620
+ </xs:documentation>
621
+ </xs:annotation>
622
+ <xs:complexType mixed="true">
623
+ <xs:simpleContent>
624
+ <xs:extension base="common:year" />
625
+ </xs:simpleContent>
626
+ </xs:complexType>
627
+ </xs:element>
628
+ <xs:sequence minOccurs="0">
629
+ <xs:element name="month">
630
+ <xs:annotation>
631
+ <xs:documentation>Used with the fuzzy-date type. Represents the
632
+ month
633
+ of the date.
634
+ </xs:documentation>
635
+ </xs:annotation>
636
+ <xs:complexType mixed="true">
637
+ <xs:simpleContent>
638
+ <xs:extension base="common:month" />
639
+ </xs:simpleContent>
640
+ </xs:complexType>
641
+ </xs:element>
642
+ <xs:element name="day" minOccurs="0">
643
+ <xs:annotation>
644
+ <xs:documentation>Used with the fuzzy-date type. Represents the
645
+ day
646
+ of the date.
647
+ </xs:documentation>
648
+ </xs:annotation>
649
+ <xs:complexType mixed="true">
650
+ <xs:simpleContent>
651
+ <xs:extension base="common:day" />
652
+ </xs:simpleContent>
653
+ </xs:complexType>
654
+ </xs:element>
655
+ </xs:sequence>
656
+ </xs:sequence>
657
+ </xs:complexType>
658
+
659
+ <xs:simpleType name="iso-3166-country">
660
+ <xs:annotation>
661
+ <xs:documentation>ISO 3166-1 alpha-2 country code from https://www.iso.org/iso-3166-country-codes.html .
662
+ </xs:documentation>
663
+ </xs:annotation>
664
+ <xs:restriction base="xs:string" />
665
+ </xs:simpleType>
666
+
667
+ <xs:simpleType name="iso-3166-country-or-empty">
668
+ <xs:annotation>
669
+ <xs:documentation>Contains either a country code or an empty value
670
+ </xs:documentation>
671
+ </xs:annotation>
672
+ <xs:union memberTypes="common:iso-3166-country" />
673
+ </xs:simpleType>
674
+
675
+ <xs:simpleType name="empty">
676
+ <xs:annotation>
677
+ <xs:documentation>An empty string</xs:documentation>
678
+ </xs:annotation>
679
+ <xs:restriction base="xs:string">
680
+ <xs:enumeration value="" />
681
+ </xs:restriction>
682
+ </xs:simpleType>
683
+
684
+ <xs:simpleType name="short-text">
685
+ <xs:annotation>
686
+ <xs:documentation>A non-empty string that has a maximum size of 500
687
+ characters
688
+ </xs:documentation>
689
+ </xs:annotation>
690
+ <xs:restriction base="xs:string">
691
+ <xs:maxLength value="500" />
692
+ </xs:restriction>
693
+ </xs:simpleType>
694
+
695
+ <xs:simpleType name="string-150">
696
+ <xs:annotation>
697
+ <xs:documentation>A non-empty string that has a maximum size of 150
698
+ characters
699
+ </xs:documentation>
700
+ </xs:annotation>
701
+ <xs:restriction base="common:non-empty-string">
702
+ <xs:maxLength value="150" />
703
+ </xs:restriction>
704
+ </xs:simpleType>
705
+
706
+ <xs:simpleType name="string-200">
707
+ <xs:annotation>
708
+ <xs:documentation>A non-empty string that has a maximum size of 200
709
+ characters
710
+ </xs:documentation>
711
+ </xs:annotation>
712
+ <xs:restriction base="xs:string">
713
+ <xs:maxLength value="200" />
714
+ </xs:restriction>
715
+ </xs:simpleType>
716
+
717
+ <xs:simpleType name="string-255">
718
+ <xs:annotation>
719
+ <xs:documentation>A non-empty string that has a maximum size of 255
720
+ characters
721
+ </xs:documentation>
722
+ </xs:annotation>
723
+ <xs:restriction base="xs:string">
724
+ <xs:maxLength value="255" />
725
+ </xs:restriction>
726
+ </xs:simpleType>
727
+
728
+ <xs:simpleType name="string-350">
729
+ <xs:annotation>
730
+ <xs:documentation>A non-empty string that has a maximum size of 350
731
+ characters
732
+ </xs:documentation>
733
+ </xs:annotation>
734
+ <xs:restriction base="common:non-empty-string">
735
+ <xs:maxLength value="350" />
736
+ </xs:restriction>
737
+ </xs:simpleType>
738
+
739
+ <xs:simpleType name="string-1000">
740
+ <xs:annotation>
741
+ <xs:documentation>A non-empty string that has a maximum size of 1000
742
+ characters
743
+ </xs:documentation>
744
+ </xs:annotation>
745
+ <xs:restriction base="common:non-empty-string">
746
+ <xs:maxLength value="1000" />
747
+ </xs:restriction>
748
+ </xs:simpleType>
749
+
750
+ <xs:simpleType name="string-2084">
751
+ <xs:annotation>
752
+ <xs:documentation>A non-empty string that has a maximum size of 2084
753
+ characters
754
+ </xs:documentation>
755
+ </xs:annotation>
756
+ <xs:restriction base="common:non-empty-string">
757
+ <xs:maxLength value="2084" />
758
+ </xs:restriction>
759
+ </xs:simpleType>
760
+
761
+ <xs:complexType name="string-with-lang-code">
762
+ <xs:annotation>
763
+ <xs:documentation>A non-empty string that includes a language code to
764
+ indicate the language used for the string's value.
765
+ </xs:documentation>
766
+ </xs:annotation>
767
+ <xs:simpleContent>
768
+ <xs:extension base="common:non-empty-string">
769
+ <xs:attribute name="language-code" type="common:language-code" use="required" />
770
+ </xs:extension>
771
+ </xs:simpleContent>
772
+ </xs:complexType>
773
+
774
+ <xs:simpleType name="short-description">
775
+ <xs:annotation>
776
+ <xs:documentation>A short narrative (few sentences) describing the
777
+ item.
778
+ </xs:documentation>
779
+ </xs:annotation>
780
+ <xs:restriction base="xs:string">
781
+ <xs:maxLength value="5000" />
782
+ </xs:restriction>
783
+ </xs:simpleType>
784
+
785
+ <xs:simpleType name="long-text">
786
+ <xs:annotation>
787
+ <xs:documentation>Must contain one or more charaters that are not a
788
+ space, carriage return or linefeed
789
+ </xs:documentation>
790
+ </xs:annotation>
791
+ <xs:restriction base="common:non-empty-string">
792
+ <xs:maxLength value="4000" />
793
+ </xs:restriction>
794
+ </xs:simpleType>
795
+
796
+ <xs:complexType name="credit-name">
797
+ <xs:annotation>
798
+ <xs:documentation>The name to use for the researcher or contributor
799
+ when credited or cited, for example, in an article or index, or as a
800
+ funding contributor. The value of this field also is used as the
801
+ display name for the researcher or contributor in the ORCID Registry
802
+ in their ORCID Record, or when listed as a contributor on other
803
+ ORCID Records. If this element is NULL, given-name family-name will
804
+ be used for display purposes, with a visibility of "public". The
805
+ visibility attribute (private, limited or public) can be set at
806
+ record creation, and indicates who can see this section of
807
+ information.
808
+ </xs:documentation>
809
+ </xs:annotation>
810
+ <xs:simpleContent>
811
+ <xs:extension base="common:string-150" />
812
+ </xs:simpleContent>
813
+ </xs:complexType>
814
+
815
+ <xs:element name="title" type="common:string-1000">
816
+ <xs:annotation>
817
+ <xs:documentation>The main name or title of the work. For a
818
+ spin-off
819
+ company, include use the company name
820
+ </xs:documentation>
821
+ </xs:annotation>
822
+ </xs:element>
823
+
824
+ <xs:element name="subtitle">
825
+ <xs:annotation>
826
+ <xs:documentation>If the work has a subtitle, include it here.
827
+ </xs:documentation>
828
+ </xs:annotation>
829
+ <xs:simpleType>
830
+ <xs:restriction base="xs:string">
831
+ <xs:maxLength value="1000" />
832
+ </xs:restriction>
833
+ </xs:simpleType>
834
+ </xs:element>
835
+
836
+ <xs:element name="translated-title">
837
+ <xs:complexType>
838
+ <xs:annotation>
839
+ <xs:documentation>The main title of the work or funding translated
840
+ into another language. The translated language will be included in
841
+ the &lt;language-code&gt; attribute.
842
+ </xs:documentation>
843
+ </xs:annotation>
844
+ <xs:simpleContent>
845
+ <xs:restriction base="common:string-with-lang-code">
846
+ <xs:maxLength value="1000" />
847
+ </xs:restriction>
848
+ </xs:simpleContent>
849
+ </xs:complexType>
850
+ </xs:element>
851
+
852
+ <xs:complexType name="contributor-email">
853
+ <xs:annotation>
854
+ <xs:documentation>Email of the collaborator or other contributor.
855
+ When provided during creation or update, the email address is used
856
+ to look up and add the contributor's ORCID iD.
857
+ </xs:documentation>
858
+ </xs:annotation>
859
+ <xs:simpleContent>
860
+ <xs:extension base="common:email" />
861
+ </xs:simpleContent>
862
+ </xs:complexType>
863
+ <xs:complexType name="contributor-attributes">
864
+ <xs:annotation>
865
+ <xs:documentation>Provides detail of the nature of the contribution
866
+ by the collaborator or other contirbutor.
867
+ </xs:documentation>
868
+ </xs:annotation>
869
+ <xs:sequence>
870
+ <xs:element name="contributor-sequence" type="common:contributor-sequence" minOccurs="0" />
871
+ <xs:element name="contributor-role" type="common:contributor-role" minOccurs="0" />
872
+ </xs:sequence>
873
+ </xs:complexType>
874
+
875
+ <xs:simpleType name="contributor-sequence">
876
+ <xs:annotation>
877
+ <xs:documentation>Indication of where in the contributor list the
878
+ collaborator or other contributor's name should appear, selected from the following options:
879
+ * first
880
+ * additional
881
+ ORCID will validate this value against the enumeration
882
+ https://github.com/ORCID/orcid-model/blob/master/src/main/java/org/orcid/jaxb/model/common/SequenceType.java
883
+ </xs:documentation>
884
+ </xs:annotation>
885
+ <xs:restriction base="xs:string" />
886
+ </xs:simpleType>
887
+
888
+ <xs:simpleType name="contributor-role">
889
+ <xs:annotation>
890
+ <xs:documentation>
891
+ The role performed by the collaborator or other contributor,
892
+ the list of allowed values is described here https://info.orcid.org/documentation/integration-and-api-faq/#easy-faq-2721
893
+ and any value outside these will be rejected by our API.
894
+ </xs:documentation>
895
+ </xs:annotation>
896
+
897
+ <xs:restriction base="xs:string" />
898
+ </xs:simpleType>
899
+
900
+ <xs:complexType name="element-summary">
901
+ <xs:sequence>
902
+ <xs:element ref="common:created-date" minOccurs="0" maxOccurs="1" />
903
+ <xs:element ref="common:last-modified-date" minOccurs="0" maxOccurs="1" />
904
+ <xs:element ref="common:source" minOccurs="0" maxOccurs="1" />
905
+ </xs:sequence>
906
+ <xs:attribute name="put-code" type="common:put-code" use="optional" />
907
+ <xs:attribute name="visibility" type="common:visibility" />
908
+ <xs:attribute name="display-index" type="xs:string" use="optional" />
909
+ <xs:attribute name="path" type="common:element-path" use="optional" />
910
+ </xs:complexType>
911
+
912
+ <xs:complexType name="affiliation-summary">
913
+ <xs:complexContent>
914
+ <xs:extension base="common:element-summary">
915
+ <xs:sequence>
916
+ <xs:element name="department-name" type="common:long-text" minOccurs="0" maxOccurs="1" />
917
+ <xs:element name="role-title" type="common:long-text" minOccurs="0" maxOccurs="1" />
918
+ <xs:element ref="common:start-date" minOccurs="0" maxOccurs="1" />
919
+ <xs:element ref="common:end-date" minOccurs="0" maxOccurs="1" />
920
+ <xs:element name="organization" type="common:organization" minOccurs="1" maxOccurs="1" />
921
+ <xs:element ref="common:url" minOccurs="0" />
922
+ <xs:element ref="common:external-ids" minOccurs="0" />
923
+ </xs:sequence>
924
+ </xs:extension>
925
+ </xs:complexContent>
926
+ </xs:complexType>
927
+
928
+ <xs:complexType name="affiliation">
929
+ <xs:complexContent>
930
+ <xs:extension base="common:element-summary">
931
+ <xs:sequence>
932
+ <xs:element name="department-name" type="common:long-text" minOccurs="0" maxOccurs="1" />
933
+ <xs:element name="role-title" type="common:long-text" minOccurs="0" maxOccurs="1" />
934
+ <xs:element ref="common:start-date" minOccurs="0" maxOccurs="1" />
935
+ <xs:element ref="common:end-date" minOccurs="0" maxOccurs="1" />
936
+ <xs:element name="organization" type="common:organization" minOccurs="1" maxOccurs="1" />
937
+ <xs:element ref="common:url" minOccurs="0" />
938
+ <xs:element ref="common:external-ids" minOccurs="0" />
939
+ </xs:sequence>
940
+ </xs:extension>
941
+ </xs:complexContent>
942
+ </xs:complexType>
943
+
944
+ <xs:simpleType name="relationship-type">
945
+ <xs:annotation>
946
+ <xs:documentation>
947
+ Indicates the relationship type, selected from the following options:
948
+ * part-of
949
+ * self
950
+ * version-of
951
+ * funded-by
952
+ ORCID will validate this value against the enumeration
953
+ https://github.com/ORCID/orcid-model/blob/master/src/main/java/org/orcid/jaxb/model/common/Relationship.java and other rules when necessary.
954
+ </xs:documentation>
955
+ </xs:annotation>
956
+ <xs:restriction base="xs:string" />
957
+ </xs:simpleType>
958
+
959
+ <xs:complexType name="external-id">
960
+ <xs:annotation>
961
+ <xs:documentation>A reference to an external identifier, suitable for works, people and funding.
962
+ Supported external-id-type values can be found at https://pub.orcid.org/v2.0/identifiers
963
+ </xs:documentation>
964
+ </xs:annotation>
965
+ <xs:complexContent>
966
+ <xs:extension base="common:element-summary">
967
+ <xs:sequence>
968
+ <xs:element name="external-id-type" type="common:non-empty-string" minOccurs="1" maxOccurs="1" />
969
+ <xs:element name="external-id-value" type="common:non-empty-string" minOccurs="1" maxOccurs="1" />
970
+ <xs:element name="external-id-normalized" type="common:transient-non-empty-string" minOccurs="0" maxOccurs="1" />
971
+ <xs:element name="external-id-normalized-error" type="common:transient-error" minOccurs="0" maxOccurs="1" />
972
+ <xs:element name="external-id-url" type="xs:anyURI" minOccurs="0" maxOccurs="1" />
973
+ <xs:element name="external-id-relationship" minOccurs="0" maxOccurs="1" type="common:relationship-type" />
974
+ </xs:sequence>
975
+ </xs:extension>
976
+ </xs:complexContent>
977
+ </xs:complexType>
978
+
979
+ <xs:complexType name="external-ids">
980
+ <xs:annotation>
981
+ <xs:documentation>Container for storing external ids</xs:documentation>
982
+ </xs:annotation>
983
+ <xs:sequence>
984
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="external-id" type="common:external-id" />
985
+ </xs:sequence>
986
+ </xs:complexType>
987
+
988
+ <xs:simpleType name="group-id">
989
+ <xs:annotation>
990
+ <xs:documentation>Identifier for the group that this review should be a part of for aggregation purposes
991
+ </xs:documentation>
992
+ </xs:annotation>
993
+ <xs:restriction base="common:string-1000">
994
+ <xs:pattern value="(ringgold:|issn:|orcid-generated:|fundref:|publons:)([0-9a-zA-Z\^._~:/?#\[\]@!$&amp;'()*+,;=-]){2,}" />
995
+ </xs:restriction>
996
+ </xs:simpleType>
997
+
998
+ </xs:schema>