orcid_client 0.6.0 → 0.9.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (152) hide show
  1. checksums.yaml +4 -4
  2. data/.env.example +0 -1
  3. data/.github/workflows/build.yml +39 -0
  4. data/.github/workflows/changelog.yml +36 -0
  5. data/.github/workflows/release.yml +48 -0
  6. data/CHANGELOG.md +157 -0
  7. data/Gemfile.lock +136 -119
  8. data/README.md +6 -6
  9. data/lib/orcid_client/api.rb +1 -1
  10. data/lib/orcid_client/external_identifier.rb +1 -1
  11. data/lib/orcid_client/version.rb +1 -1
  12. data/lib/orcid_client/work.rb +1 -1
  13. data/orcid_client.gemspec +9 -10
  14. data/resources/README.md +48 -43
  15. data/resources/common_3.0/common-3.0.xsd +998 -0
  16. data/resources/common_3.0/samples/common-3.0.xml +8 -0
  17. data/resources/common_3.0/samples/common-3.0_external-identifier.xml +11 -0
  18. data/resources/notification_3.0/README.md +130 -0
  19. data/resources/notification_3.0/images/notification-intro.jpg +0 -0
  20. data/resources/notification_3.0/images/notification-subject.jpg +0 -0
  21. data/resources/notification_3.0/notification-custom-3.0.xsd +38 -0
  22. data/resources/notification_3.0/notification-permission-3.0.xsd +134 -0
  23. data/resources/notification_3.0/samples/notification-custom-3.0.xml +27 -0
  24. data/resources/notification_3.0/samples/notification-permission-3.0.xml +58 -0
  25. data/resources/record_3.0/README.md +408 -0
  26. data/resources/record_3.0/activities-3.0.xsd +456 -0
  27. data/resources/record_3.0/address-3.0.xsd +73 -0
  28. data/resources/record_3.0/bulk-3.0.xsd +57 -0
  29. data/resources/record_3.0/distinction-3.0.xsd +51 -0
  30. data/resources/record_3.0/education-3.0.xsd +51 -0
  31. data/resources/record_3.0/email-3.0.xsd +76 -0
  32. data/resources/record_3.0/employment-3.0.xsd +51 -0
  33. data/resources/record_3.0/error-3.0.xsd +84 -0
  34. data/resources/record_3.0/expanded-search-3.0.xsd +114 -0
  35. data/resources/record_3.0/funding-3.0.xsd +204 -0
  36. data/resources/record_3.0/history-3.0.xsd +185 -0
  37. data/resources/record_3.0/invited-position-3.0.xsd +50 -0
  38. data/resources/record_3.0/keyword-3.0.xsd +72 -0
  39. data/resources/record_3.0/membership-3.0.xsd +51 -0
  40. data/resources/record_3.0/other-name-3.0.xsd +78 -0
  41. data/resources/record_3.0/peer-review-3.0.xsd +263 -0
  42. data/resources/record_3.0/person-3.0.xsd +85 -0
  43. data/resources/record_3.0/person-external-identifier-3.0.xsd +63 -0
  44. data/resources/record_3.0/personal-details-3.0.xsd +162 -0
  45. data/resources/record_3.0/preferences-3.0.xsd +50 -0
  46. data/resources/record_3.0/qualification-3.0.xsd +50 -0
  47. data/resources/record_3.0/record-3.0.xsd +91 -0
  48. data/resources/record_3.0/research-resource-3.0.xsd +144 -0
  49. data/resources/record_3.0/researcher-url-3.0.xsd +86 -0
  50. data/resources/record_3.0/samples/read_samples/activities-3.0.xml +742 -0
  51. data/resources/record_3.0/samples/read_samples/address-3.0.xml +16 -0
  52. data/resources/record_3.0/samples/read_samples/addresses-3.0.xml +32 -0
  53. data/resources/record_3.0/samples/read_samples/biography-3.0.xml +10 -0
  54. data/resources/record_3.0/samples/read_samples/bulk-work-err.xml +45 -0
  55. data/resources/record_3.0/samples/read_samples/credit-name-3.0.xml +5 -0
  56. data/resources/record_3.0/samples/read_samples/distinction-3.0.xml +55 -0
  57. data/resources/record_3.0/samples/read_samples/distinctions-3.0.xml +106 -0
  58. data/resources/record_3.0/samples/read_samples/education-3.0.xml +55 -0
  59. data/resources/record_3.0/samples/read_samples/education-full-3.0.xml +55 -0
  60. data/resources/record_3.0/samples/read_samples/educations-3.0.xml +118 -0
  61. data/resources/record_3.0/samples/read_samples/email-3.0.xml +16 -0
  62. data/resources/record_3.0/samples/read_samples/emails-3.0.xml +31 -0
  63. data/resources/record_3.0/samples/read_samples/employment-3.0.xml +55 -0
  64. data/resources/record_3.0/samples/read_samples/employment-full-3.0.xml +55 -0
  65. data/resources/record_3.0/samples/read_samples/employments-3.0.xml +108 -0
  66. data/resources/record_3.0/samples/read_samples/error-3.0.xml +8 -0
  67. data/resources/record_3.0/samples/read_samples/external-identifier-3.0.xml +21 -0
  68. data/resources/record_3.0/samples/read_samples/external-identifiers-3.0.xml +38 -0
  69. data/resources/record_3.0/samples/read_samples/full-record-3.0.json +2332 -0
  70. data/resources/record_3.0/samples/read_samples/funding-3.0.xml +75 -0
  71. data/resources/record_3.0/samples/read_samples/funding-full-3.0.xml +75 -0
  72. data/resources/record_3.0/samples/read_samples/fundings-3.0.xml +139 -0
  73. data/resources/record_3.0/samples/read_samples/history-3.0.xml +22 -0
  74. data/resources/record_3.0/samples/read_samples/invited-position-3.0.xml +55 -0
  75. data/resources/record_3.0/samples/read_samples/invited-positions-3.0.xml +106 -0
  76. data/resources/record_3.0/samples/read_samples/keyword-3.0.xml +18 -0
  77. data/resources/record_3.0/samples/read_samples/keywords-3.0.xml +34 -0
  78. data/resources/record_3.0/samples/read_samples/membership-3.0.xml +55 -0
  79. data/resources/record_3.0/samples/read_samples/memberships-3.0.xml +106 -0
  80. data/resources/record_3.0/samples/read_samples/name-3.0.xml +12 -0
  81. data/resources/record_3.0/samples/read_samples/other-name-3.0.xml +16 -0
  82. data/resources/record_3.0/samples/read_samples/other-names-3.0.xml +31 -0
  83. data/resources/record_3.0/samples/read_samples/peer-review-3.0.xml +59 -0
  84. data/resources/record_3.0/samples/read_samples/peer-review-full-3.0.xml +59 -0
  85. data/resources/record_3.0/samples/read_samples/peer-reviews-3.0.xml +76 -0
  86. data/resources/record_3.0/samples/read_samples/person-3.0.xml +122 -0
  87. data/resources/record_3.0/samples/read_samples/personal-details-3.0.xml +47 -0
  88. data/resources/record_3.0/samples/read_samples/preferences-3.0.xml +4 -0
  89. data/resources/record_3.0/samples/read_samples/qualification-3.0.xml +55 -0
  90. data/resources/record_3.0/samples/read_samples/qualifications-3.0.xml +106 -0
  91. data/resources/record_3.0/samples/read_samples/record-3.0.xml +770 -0
  92. data/resources/record_3.0/samples/read_samples/research-resource-3.0.xml +138 -0
  93. data/resources/record_3.0/samples/read_samples/research-resources-3.0.xml +143 -0
  94. data/resources/record_3.0/samples/read_samples/researcher-url-3.0.xml +19 -0
  95. data/resources/record_3.0/samples/read_samples/researcher-urls-3.0.xml +21 -0
  96. data/resources/record_3.0/samples/read_samples/search-3.0.xml +14 -0
  97. data/resources/record_3.0/samples/read_samples/service-3.0.xml +55 -0
  98. data/resources/record_3.0/samples/read_samples/services-3.0.xml +106 -0
  99. data/resources/record_3.0/samples/read_samples/work-3.0.xml +65 -0
  100. data/resources/record_3.0/samples/read_samples/work-full-3.0.xml +65 -0
  101. data/resources/record_3.0/samples/read_samples/works-3.0.xml +148 -0
  102. data/resources/record_3.0/samples/write_samples/address-3.0.xml +6 -0
  103. data/resources/record_3.0/samples/write_samples/bulk-work-3.0.json +53 -0
  104. data/resources/record_3.0/samples/write_samples/bulk-work-3.0.xml +47 -0
  105. data/resources/record_3.0/samples/write_samples/distinction-3.0.xml +46 -0
  106. data/resources/record_3.0/samples/write_samples/education-3.0.xml +45 -0
  107. data/resources/record_3.0/samples/write_samples/employment-3.0.xml +45 -0
  108. data/resources/record_3.0/samples/write_samples/external-identifier-3.0.xml +11 -0
  109. data/resources/record_3.0/samples/write_samples/funding-3.0.xml +44 -0
  110. data/resources/record_3.0/samples/write_samples/invited-position-3.0.xml +45 -0
  111. data/resources/record_3.0/samples/write_samples/keyword-3.0.xml +7 -0
  112. data/resources/record_3.0/samples/write_samples/membership-3.0.xml +45 -0
  113. data/resources/record_3.0/samples/write_samples/other-name-3.0.xml +6 -0
  114. data/resources/record_3.0/samples/write_samples/peer-review-full-3.0.xml +48 -0
  115. data/resources/record_3.0/samples/write_samples/peer-review-full-award-subject-type-3.0.xml +48 -0
  116. data/resources/record_3.0/samples/write_samples/peer-review-simple-3.0.xml +32 -0
  117. data/resources/record_3.0/samples/write_samples/qualification-3.0.xml +45 -0
  118. data/resources/record_3.0/samples/write_samples/research-resource-3.0.xml +110 -0
  119. data/resources/record_3.0/samples/write_samples/researcher-url-3.0-no-name.xml +6 -0
  120. data/resources/record_3.0/samples/write_samples/researcher-url-3.0.xml +7 -0
  121. data/resources/record_3.0/samples/write_samples/service-3.0.xml +45 -0
  122. data/resources/record_3.0/samples/write_samples/work-full-3.0.xml +60 -0
  123. data/resources/record_3.0/samples/write_samples/work-simple-3.0.xml +18 -0
  124. data/resources/record_3.0/search-3.0.xsd +62 -0
  125. data/resources/record_3.0/service-3.0.xsd +51 -0
  126. data/resources/record_3.0/work-3.0.xsd +269 -0
  127. data/spec/api_spec.rb +3 -3
  128. data/spec/author_spec.rb +1 -1
  129. data/spec/external_identifier_spec.rb +3 -3
  130. data/spec/fixtures/external_identifier.xml +1 -1
  131. data/spec/fixtures/vcr_cassettes/OrcidClient/works/get/should_get_works.yml +20 -11
  132. data/spec/fixtures/vcr_cassettes/OrcidClient/works/post/should_create_work.yml +67 -42
  133. data/spec/fixtures/vcr_cassettes/OrcidClient_Notification/data.yml +37 -28
  134. data/spec/fixtures/vcr_cassettes/OrcidClient_Notification/schema/validates_data.yml +37 -28
  135. data/spec/fixtures/vcr_cassettes/OrcidClient_Notification/schema/validates_item_type_work.yml +31 -37
  136. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/contributors/literal.yml +46 -31
  137. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/contributors/multiple_titles.yml +36 -27
  138. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/contributors/valid.yml +36 -27
  139. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/contributors/with_ORCID_IDs.yml +30 -22
  140. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/data.yml +37 -28
  141. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/publication_date.yml +37 -28
  142. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/schema/validates_ORCID_IDs_for_contributors.yml +30 -22
  143. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/schema/validates_data.yml +36 -27
  144. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/schema/validates_work_from_DataCite_test_system.yml +30 -22
  145. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/schema/validates_work_type_data-set.yml +31 -37
  146. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/user_example/fail/valid.yml +30 -22
  147. data/spec/fixtures/work.xml +1 -1
  148. data/spec/notification_spec.rb +2 -2
  149. data/spec/spec_helper.rb +1 -1
  150. data/spec/work_spec.rb +3 -3
  151. metadata +188 -77
  152. data/.travis.yml +0 -17
@@ -0,0 +1,114 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
3
+ elementFormDefault="qualified" targetNamespace="http://www.orcid.org/ns/expanded-search"
4
+ xmlns:expanded-search="http://www.orcid.org/ns/expanded-search">
5
+ <xs:annotation>
6
+ <xs:documentation>
7
+ =============================================================================
8
+
9
+ ORCID (R) Open Source
10
+ http://orcid.org
11
+
12
+ Copyright (c) 2012-2018 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:annotation>
30
+
31
+ <xs:element name="expanded-search">
32
+ <xs:complexType>
33
+ <xs:annotation>
34
+ <xs:documentation>The container element for the results when
35
+ performing a search on the ORCID Registry. the num-found attribute
36
+ indicates the number of successful matches.
37
+ </xs:documentation>
38
+ </xs:annotation>
39
+ <xs:sequence>
40
+ <xs:element name="expanded-result" type="expanded-search:expanded-result"
41
+ minOccurs="0" maxOccurs="unbounded" />
42
+ </xs:sequence>
43
+ <xs:attribute name="num-found" type="xs:integer"
44
+ default="0" />
45
+ </xs:complexType>
46
+ </xs:element>
47
+
48
+ <xs:complexType name="expanded-result">
49
+ <xs:annotation>
50
+ <xs:documentation>A single expanded search result when performing a
51
+ search on the
52
+ ORCID Registry.
53
+ </xs:documentation>
54
+ </xs:annotation>
55
+ <xs:sequence>
56
+ <xs:element name="orcid-id" type="xs:string" minOccurs="1">
57
+ <xs:annotation>
58
+ <xs:documentation>ORCID iD.
59
+ </xs:documentation>
60
+ </xs:annotation>
61
+ </xs:element>
62
+ <xs:element name="given-names" type="xs:string" minOccurs="0">
63
+ <xs:annotation>
64
+ <xs:documentation>Given names.
65
+ </xs:documentation>
66
+ </xs:annotation>
67
+ </xs:element>
68
+ <xs:element name="family-names" type="xs:string"
69
+ minOccurs="0">
70
+ <xs:annotation>
71
+ <xs:documentation>Family names.
72
+ </xs:documentation>
73
+ </xs:annotation>
74
+ </xs:element>
75
+ <xs:element name="credit-name" type="xs:string" minOccurs="0">
76
+ <xs:annotation>
77
+ <xs:documentation>Credit name.
78
+ </xs:documentation>
79
+ </xs:annotation>
80
+ </xs:element>
81
+ <xs:element name="other-name" type="expanded-search:other-name"
82
+ minOccurs="0" maxOccurs="unbounded">
83
+ <xs:annotation>
84
+ <xs:documentation>Other names
85
+ </xs:documentation>
86
+ </xs:annotation>
87
+ </xs:element>
88
+ <xs:element name="email" type="expanded-search:email"
89
+ minOccurs="0" maxOccurs="unbounded">
90
+ <xs:annotation>
91
+ <xs:documentation>Emails
92
+ </xs:documentation>
93
+ </xs:annotation>
94
+ </xs:element>
95
+ <xs:element name="institution-name" type="expanded-search:institution-name"
96
+ minOccurs="0" maxOccurs="unbounded">
97
+ <xs:annotation>
98
+ <xs:documentation>Other names
99
+ </xs:documentation>
100
+ </xs:annotation>
101
+ </xs:element>
102
+ </xs:sequence>
103
+ </xs:complexType>
104
+
105
+ <xs:simpleType name="other-name">
106
+ <xs:restriction base="xs:string" />
107
+ </xs:simpleType>
108
+ <xs:simpleType name="institution-name">
109
+ <xs:restriction base="xs:string" />
110
+ </xs:simpleType>
111
+ <xs:simpleType name="email">
112
+ <xs:restriction base="xs:string" />
113
+ </xs:simpleType>
114
+ </xs:schema>
@@ -0,0 +1,204 @@
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/funding" xmlns:funding="http://www.orcid.org/ns/funding"
5
+ xmlns:common="http://www.orcid.org/ns/common">
6
+ <xs:annotation>
7
+ <xs:documentation>
8
+ =============================================================================
9
+
10
+ ORCID (R) Open Source
11
+ http://orcid.org
12
+
13
+ Copyright (c) 2012-2018 ORCID,
14
+ Inc.
15
+ Licensed under an MIT-Style License (MIT)
16
+ http://orcid.org/open-source-license
17
+
18
+ This copyright and license
19
+ information (including a link to the full
20
+ license)
21
+ shall be included in
22
+ its entirety in all copies or substantial portion of
23
+ the software.
24
+
25
+ =============================================================================
26
+ The schema describes the message format used for ORCID API requests
27
+ and responses.
28
+ The top level element is orcid-message.
29
+ </xs:documentation>
30
+ <xs:appinfo>
31
+ <sch:title>Schematron validation</sch:title>
32
+ <sch:ns prefix="orcid" uri="http://www.orcid.org/ns/orcid" />
33
+ </xs:appinfo>
34
+ </xs:annotation>
35
+
36
+ <xs:import namespace="http://www.orcid.org/ns/common"
37
+ schemaLocation="../common_3.0/common-3.0.xsd" />
38
+
39
+ <xs:element name="funding">
40
+ <xs:annotation>
41
+ <xs:documentation>Funding received by the researcher or contributor.
42
+ * REQUIRED FIELDS: Funding-type, Funding-title, Funding Agency
43
+ (organization)
44
+ * The put-code attribute is returned when reading this element.
45
+ When updating the item, the put-code attribute must be included to indicate the specific item to be updated.
46
+ </xs:documentation>
47
+ </xs:annotation>
48
+ <xs:complexType>
49
+ <xs:complexContent>
50
+ <xs:extension base="common:element-summary">
51
+ <xs:sequence>
52
+ <xs:element name="type" type="funding:funding-type"
53
+ minOccurs="1" maxOccurs="1" />
54
+ <xs:element name="organization-defined-type" type="common:organization-defined-type"
55
+ minOccurs="0" maxOccurs="1" />
56
+ <xs:element name="title" type="funding:funding-title"
57
+ minOccurs="0" />
58
+ <xs:element name="short-description" type="common:short-description"
59
+ minOccurs="0" />
60
+ <xs:element name="amount" type="common:amount"
61
+ minOccurs="0" maxOccurs="1" />
62
+ <xs:element ref="common:url" minOccurs="0" maxOccurs="1"/>
63
+ <xs:element ref="common:start-date" minOccurs="0"
64
+ maxOccurs="1">
65
+ <xs:annotation>
66
+ <xs:documentation>Start date for the funding.</xs:documentation>
67
+ </xs:annotation>
68
+ </xs:element>
69
+ <xs:element ref="common:end-date" minOccurs="0"
70
+ maxOccurs="1">
71
+ <xs:annotation>
72
+ <xs:documentation>End date for the funding.</xs:documentation>
73
+ </xs:annotation>
74
+ </xs:element>
75
+ <xs:element ref="common:external-ids"
76
+ minOccurs="0" />
77
+ <xs:element name="contributors" type="funding:contributors"
78
+ minOccurs="0" />
79
+ <xs:element ref="common:organization" minOccurs="1" maxOccurs="1"/>
80
+ </xs:sequence>
81
+ </xs:extension>
82
+ </xs:complexContent>
83
+ </xs:complexType>
84
+ </xs:element>
85
+
86
+ <xs:element name="funding-summary">
87
+ <xs:complexType>
88
+ <xs:complexContent>
89
+ <xs:extension base="common:element-summary">
90
+ <xs:sequence>
91
+ <xs:element name="title" type="funding:funding-title"
92
+ minOccurs="1" />
93
+ <xs:element ref="common:external-ids"
94
+ minOccurs="0" />
95
+ <xs:element ref="common:url" minOccurs="0" maxOccurs="1"/>
96
+ <xs:element name="type" type="funding:funding-type"
97
+ minOccurs="1" maxOccurs="1" />
98
+ <xs:element ref="common:start-date" minOccurs="0"
99
+ maxOccurs="1">
100
+ <xs:annotation>
101
+ <xs:documentation>Start date for the funding.</xs:documentation>
102
+ </xs:annotation>
103
+ </xs:element>
104
+ <xs:element ref="common:end-date" minOccurs="0"
105
+ maxOccurs="1">
106
+ <xs:annotation>
107
+ <xs:documentation>End date for the funding.</xs:documentation>
108
+ </xs:annotation>
109
+ </xs:element>
110
+ <xs:element ref="common:organization" minOccurs="1" maxOccurs="1"/>
111
+ </xs:sequence>
112
+ </xs:extension>
113
+ </xs:complexContent>
114
+ </xs:complexType>
115
+ </xs:element>
116
+
117
+ <xs:complexType name="funding-title">
118
+ <xs:annotation>
119
+ <xs:documentation>Container for titles of the funding.
120
+ </xs:documentation>
121
+ </xs:annotation>
122
+ <xs:sequence>
123
+ <xs:element ref="common:title">
124
+ <xs:annotation>
125
+ <xs:documentation>The main name or title of the funding.
126
+ </xs:documentation>
127
+ </xs:annotation>
128
+ </xs:element>
129
+ <xs:element ref="common:translated-title" minOccurs="0" />
130
+ </xs:sequence>
131
+ </xs:complexType>
132
+
133
+ <xs:simpleType name="funding-type">
134
+ <xs:annotation>
135
+ <xs:documentation>
136
+ The type of funding, selected from the following options:
137
+ * award: Peer-reviewed funding providing direct research costs through competitions
138
+ * contract: Works commissioned by external public agencies or industry building on research expertise and aimed at deliverables. Include research contracts awarded by federal agencies for both direct and indirect costs, and honoraria
139
+ * grant: Peer-reviewed funding providing direct research costs through competitions
140
+ * salary-award: A competitive, peer-reviewed award that is paid as salary to the awardee/faculty member
141
+ ORCID will validate this value against the enumeration
142
+ https://github.com/ORCID/orcid-model/blob/master/src/main/java/org/orcid/jaxb/model/common/FundingType.java and other rules when necessary
143
+ </xs:documentation>
144
+ </xs:annotation>
145
+
146
+ <xs:restriction base="xs:string" />
147
+ </xs:simpleType>
148
+
149
+ <xs:complexType name="contributors">
150
+ <xs:annotation>
151
+ <xs:documentation>Container for the contributors of a funding.
152
+ </xs:documentation>
153
+ </xs:annotation>
154
+ <xs:sequence>
155
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="contributor"
156
+ type="funding:contributor" />
157
+ </xs:sequence>
158
+ </xs:complexType>
159
+
160
+ <xs:complexType name="contributor">
161
+ <xs:annotation>
162
+ <xs:documentation>A collaborator or other contributor to the funding.
163
+ </xs:documentation>
164
+ </xs:annotation>
165
+ <xs:sequence>
166
+ <xs:element ref="common:contributor-orcid" minOccurs="0"
167
+ maxOccurs="1" />
168
+ <xs:element name="credit-name" type="common:credit-name"
169
+ minOccurs="0" maxOccurs="1" />
170
+ <xs:element name="contributor-email" type="common:contributor-email"
171
+ minOccurs="0" maxOccurs="1" />
172
+ <xs:element name="contributor-attributes" type="funding:contributor-attributes"
173
+ minOccurs="0" maxOccurs="1" />
174
+ </xs:sequence>
175
+ </xs:complexType>
176
+
177
+ <xs:complexType name="contributor-attributes">
178
+ <xs:annotation>
179
+ <xs:documentation>Provides detail of the nature of the contribution
180
+ by the collaborator or other contirbutor.
181
+ </xs:documentation>
182
+ </xs:annotation>
183
+ <xs:sequence>
184
+ <xs:element name="contributor-role" type="funding:contributor-role"
185
+ minOccurs="0" />
186
+ </xs:sequence>
187
+ </xs:complexType>
188
+
189
+ <xs:simpleType name="contributor-role">
190
+ <xs:annotation>
191
+ <xs:documentation>The role performed by the collaborator or other
192
+ contributor, selected from the following options:
193
+ * lead
194
+ * co-lead:
195
+ * supported-by
196
+ * other-contribution
197
+ ORCID will validate this value against the enumeration
198
+ https://github.com/ORCID/orcid-model/blob/master/src/main/java/org/orcid/jaxb/model/common/FundingContributorRole.java and other rules when necessary
199
+ </xs:documentation>
200
+ </xs:annotation>
201
+ <xs:restriction base="xs:string" />
202
+ </xs:simpleType>
203
+
204
+ </xs:schema>
@@ -0,0 +1,185 @@
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/history" xmlns:history="http://www.orcid.org/ns/history"
5
+ xmlns:common="http://www.orcid.org/ns/common">
6
+ <xs:annotation>
7
+ <xs:documentation>
8
+ =============================================================================
9
+
10
+ ORCID (R) Open Source
11
+ http://orcid.org
12
+
13
+ Copyright (c) 2012-2018 ORCID,
14
+ Inc.
15
+ Licensed under an MIT-Style License (MIT)
16
+ http://orcid.org/open-source-license
17
+
18
+ This copyright and license
19
+ information (including a link to the full
20
+ license)
21
+ shall be included in
22
+ its entirety in all copies or substantial portion of
23
+ the software.
24
+
25
+ =============================================================================
26
+ The schema describes the message format used for ORCID API requests
27
+ and responses.
28
+ The top level element is orcid-message.
29
+ </xs:documentation>
30
+ <xs:appinfo>
31
+ <sch:title>Schematron validation</sch:title>
32
+ <sch:ns prefix="orcid" uri="http://www.orcid.org/ns/orcid" />
33
+ </xs:appinfo>
34
+ </xs:annotation>
35
+
36
+ <xs:import namespace="http://www.orcid.org/ns/common"
37
+ schemaLocation="../common_3.0/common-3.0.xsd" />
38
+
39
+ <xs:element name="history">
40
+ <xs:complexType>
41
+ <xs:annotation>
42
+ <xs:documentation>The history of the researcher's ORCID record
43
+ </xs:documentation>
44
+ </xs:annotation>
45
+ <xs:sequence>
46
+ <xs:element name="creation-method" type="history:creation-method"
47
+ minOccurs="0" maxOccurs="1">
48
+ <xs:annotation>
49
+ <xs:documentation>The method used to create the ORCID Record
50
+ * API method - Institution created the record on behalf of the
51
+ individual
52
+ * Direct/website methods - Individual registered directly at
53
+ orcid.org
54
+ * Member-referred method - Individual registered as
55
+ part of the OAuth workflow
56
+ </xs:documentation>
57
+ </xs:annotation>
58
+ </xs:element>
59
+ <xs:element name="completion-date" type="history:completion-date"
60
+ minOccurs="0" maxOccurs="1" />
61
+ <xs:element name="submission-date" type="history:submission-date"
62
+ minOccurs="0" maxOccurs="1" />
63
+ <xs:element ref="common:last-modified-date"
64
+ minOccurs="0" maxOccurs="1" />
65
+ <xs:element name="claimed" type="history:claimed" minOccurs="0"
66
+ maxOccurs="1" />
67
+ <xs:element ref="common:source" minOccurs="0" maxOccurs="1" />
68
+ <xs:element name="deactivation-date" type="history:deactivation-date"
69
+ minOccurs="0" maxOccurs="1" />
70
+ <xs:element name="verified-email" type="xs:boolean"
71
+ minOccurs="1" maxOccurs="1">
72
+ <xs:annotation>
73
+ <xs:documentation>True if the user has a verified email
74
+ </xs:documentation>
75
+ </xs:annotation>
76
+ </xs:element>
77
+ <xs:element name="verified-primary-email" type="xs:boolean"
78
+ minOccurs="1" maxOccurs="1">
79
+ <xs:annotation>
80
+ <xs:documentation>True if the user's current primary email is verified
81
+ </xs:documentation>
82
+ </xs:annotation>
83
+ </xs:element>
84
+ </xs:sequence>
85
+ <xs:attribute name="visibility" type="common:visibility" />
86
+ </xs:complexType>
87
+ </xs:element>
88
+
89
+ <xs:complexType name="completion-date">
90
+ <xs:annotation>
91
+ <xs:documentation>Only returned on records with a creation method of API, this date is when the user took control of the record and set a password
92
+ </xs:documentation>
93
+ </xs:annotation>
94
+ <xs:simpleContent>
95
+ <xs:extension base="xs:dateTime" />
96
+ </xs:simpleContent>
97
+ </xs:complexType>
98
+
99
+ <xs:complexType name="submission-date">
100
+ <xs:annotation>
101
+ <xs:documentation>The date time when the ORCID record was first created.
102
+ </xs:documentation>
103
+ </xs:annotation>
104
+ <xs:simpleContent>
105
+ <xs:extension base="xs:dateTime" />
106
+ </xs:simpleContent>
107
+ </xs:complexType>
108
+
109
+ <xs:complexType name="claimed">
110
+ <xs:annotation>
111
+ <xs:documentation>True for all records created via direct/website or member-referred.
112
+ If the record was created via the API this will be set to True when the user takes control of the record and sets a password.
113
+ </xs:documentation>
114
+ </xs:annotation>
115
+ <xs:simpleContent>
116
+ <xs:extension base="xs:boolean" />
117
+ </xs:simpleContent>
118
+ </xs:complexType>
119
+
120
+ <xs:complexType name="deactivation-date">
121
+ <xs:annotation>
122
+ <xs:documentation>The date and time when the ORCID Record was
123
+ deactivated. (If the account is active, this field will be NULL.)
124
+ </xs:documentation>
125
+ </xs:annotation>
126
+ <xs:simpleContent>
127
+ <xs:extension base="xs:dateTime" />
128
+ </xs:simpleContent>
129
+ </xs:complexType>
130
+
131
+ <xs:complexType mixed="true" name="source-reference">
132
+ <xs:annotation>
133
+ <xs:documentation>(UNUSED) The identifier or other reference
134
+ information for the researcher or contributor in the source client
135
+ application (Member Organization's) system.
136
+ </xs:documentation>
137
+ </xs:annotation>
138
+ </xs:complexType>
139
+
140
+ <xs:complexType name="source-date">
141
+ <xs:annotation>
142
+ <xs:documentation>The date time that the source client application
143
+ (Member organization system) or individual user created/attempted to
144
+ create the item.
145
+ </xs:documentation>
146
+ </xs:annotation>
147
+ <xs:simpleContent>
148
+ <xs:extension base="xs:dateTime" />
149
+ </xs:simpleContent>
150
+ </xs:complexType>
151
+
152
+ <xs:simpleType name="creation-method">
153
+ <xs:annotation>
154
+ <xs:documentation>Indicates how the ORCID record was created.
155
+ </xs:documentation>
156
+ </xs:annotation>
157
+ <xs:restriction base="common:non-empty-string">
158
+ <xs:enumeration value="API">
159
+ <xs:annotation>
160
+ <xs:documentation>The ORCID Record was created using the ORCID Member API.
161
+ </xs:documentation>
162
+ </xs:annotation>
163
+ </xs:enumeration>
164
+ <xs:enumeration value="Direct">
165
+ <xs:annotation>
166
+ <xs:documentation>The user registered on the ORCID website.
167
+ </xs:documentation>
168
+ </xs:annotation>
169
+ </xs:enumeration>
170
+ <xs:enumeration value="Member-referred">
171
+ <xs:annotation>
172
+ <xs:documentation>The user registered as part of the OAuth process.
173
+ </xs:documentation>
174
+ </xs:annotation>
175
+ </xs:enumeration>
176
+ <xs:enumeration value="website">
177
+ <xs:annotation>
178
+ <xs:documentation>DEPRECATED use Direct instead.
179
+ </xs:documentation>
180
+ </xs:annotation>
181
+ </xs:enumeration>
182
+ </xs:restriction>
183
+ </xs:simpleType>
184
+
185
+ </xs:schema>