orcid_client 0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (110) hide show
  1. checksums.yaml +7 -0
  2. data/.env.example +10 -0
  3. data/.gitignore +42 -0
  4. data/.travis.yml +17 -0
  5. data/CHANGELOG.md +0 -0
  6. data/Gemfile +4 -0
  7. data/Gemfile.lock +115 -0
  8. data/LICENSE.md +21 -0
  9. data/README.md +45 -0
  10. data/Rakefile +5 -0
  11. data/lib/orcid_client.rb +3 -0
  12. data/lib/orcid_client/api.rb +75 -0
  13. data/lib/orcid_client/author.rb +56 -0
  14. data/lib/orcid_client/base.rb +21 -0
  15. data/lib/orcid_client/date.rb +61 -0
  16. data/lib/orcid_client/metadata.rb +128 -0
  17. data/lib/orcid_client/notification.rb +125 -0
  18. data/lib/orcid_client/version.rb +3 -0
  19. data/lib/orcid_client/work.rb +200 -0
  20. data/lib/orcid_client/work_type.rb +68 -0
  21. data/orcid_client.gemspec +37 -0
  22. data/resources/common_2.0_rc3/common-2.0_rc3.xsd +1624 -0
  23. data/resources/common_2.0_rc3/samples/common-2.0_rc3.xml +8 -0
  24. data/resources/notification_2.0_rc3/notification-custom-2.0_rc3.xsd +32 -0
  25. data/resources/notification_2.0_rc3/notification-permission-2.0_rc3.xsd +128 -0
  26. data/resources/notification_2.0_rc3/samples/notification-custom-2.0_rc3.xml +45 -0
  27. data/resources/notification_2.0_rc3/samples/notification-permission-2.0_rc3.xml +58 -0
  28. data/resources/record_2.0_rc3/activities-2.0_rc3.xsd +187 -0
  29. data/resources/record_2.0_rc3/address-2.0_rc3.xsd +73 -0
  30. data/resources/record_2.0_rc3/bulk-2.0_rc3.xsd +57 -0
  31. data/resources/record_2.0_rc3/deprecated-2.0_rc3.xsd +80 -0
  32. data/resources/record_2.0_rc3/education-2.0_rc3.xsd +96 -0
  33. data/resources/record_2.0_rc3/email-2.0_rc3.xsd +74 -0
  34. data/resources/record_2.0_rc3/employment-2.0_rc3.xsd +96 -0
  35. data/resources/record_2.0_rc3/error-2.0_rc3.xsd +84 -0
  36. data/resources/record_2.0_rc3/funding-2.0_rc3.xsd +257 -0
  37. data/resources/record_2.0_rc3/history-2.0_rc3.xsd +203 -0
  38. data/resources/record_2.0_rc3/internal-2.0_rc3.xsd +199 -0
  39. data/resources/record_2.0_rc3/keyword-2.0_rc3.xsd +72 -0
  40. data/resources/record_2.0_rc3/other-name-2.0_rc3.xsd +88 -0
  41. data/resources/record_2.0_rc3/peer-review-2.0_rc3.xsd +246 -0
  42. data/resources/record_2.0_rc3/person-2.0_rc3.xsd +98 -0
  43. data/resources/record_2.0_rc3/person-external-identifier-2.0_rc3.xsd +63 -0
  44. data/resources/record_2.0_rc3/personal-details-2.0_rc3.xsd +186 -0
  45. data/resources/record_2.0_rc3/preferences-2.0_rc3.xsd +50 -0
  46. data/resources/record_2.0_rc3/record-2.0_rc3.xsd +105 -0
  47. data/resources/record_2.0_rc3/researcher-url-2.0_rc3.xsd +90 -0
  48. data/resources/record_2.0_rc3/samples/activities-2.0_rc3.xml +236 -0
  49. data/resources/record_2.0_rc3/samples/address-2.0_rc3.xml +16 -0
  50. data/resources/record_2.0_rc3/samples/addresses-2.0_rc3.xml +32 -0
  51. data/resources/record_2.0_rc3/samples/biography-2.0_rc3.xml +10 -0
  52. data/resources/record_2.0_rc3/samples/bulk-work-2.0_rc3.json +56 -0
  53. data/resources/record_2.0_rc3/samples/bulk-work-2.0_rc3.xml +62 -0
  54. data/resources/record_2.0_rc3/samples/credit-name-2.0_rc3.xml +5 -0
  55. data/resources/record_2.0_rc3/samples/deprecated-2.0_rc3.xml +13 -0
  56. data/resources/record_2.0_rc3/samples/education-2.0_rc3.xml +30 -0
  57. data/resources/record_2.0_rc3/samples/education-full-2.0_rc3.xml +40 -0
  58. data/resources/record_2.0_rc3/samples/email-2.0_rc3.xml +16 -0
  59. data/resources/record_2.0_rc3/samples/emails-2.0_rc3.xml +31 -0
  60. data/resources/record_2.0_rc3/samples/employment-2.0_rc3.xml +30 -0
  61. data/resources/record_2.0_rc3/samples/employment-full-2.0_rc3.xml +40 -0
  62. data/resources/record_2.0_rc3/samples/error-2.0_rc3.xml +8 -0
  63. data/resources/record_2.0_rc3/samples/external-identifier-2.0_rc3.xml +20 -0
  64. data/resources/record_2.0_rc3/samples/external-identifiers-2.0_rc3.xml +36 -0
  65. data/resources/record_2.0_rc3/samples/funding-2.0_rc3.xml +65 -0
  66. data/resources/record_2.0_rc3/samples/funding-full-2.0_rc3.xml +75 -0
  67. data/resources/record_2.0_rc3/samples/history-2.0_rc3.xml +22 -0
  68. data/resources/record_2.0_rc3/samples/keyword-2.0_rc3.xml +18 -0
  69. data/resources/record_2.0_rc3/samples/keywords-2.0_rc3.xml +34 -0
  70. data/resources/record_2.0_rc3/samples/name-2.0_rc3.xml +12 -0
  71. data/resources/record_2.0_rc3/samples/other-name-2.0_rc3.xml +16 -0
  72. data/resources/record_2.0_rc3/samples/other-names-2.0_rc3.xml +31 -0
  73. data/resources/record_2.0_rc3/samples/peer-review-2.0_rc3.xml +49 -0
  74. data/resources/record_2.0_rc3/samples/peer-review-full-2.0_rc3.xml +59 -0
  75. data/resources/record_2.0_rc3/samples/person-2.0_rc3.xml +122 -0
  76. data/resources/record_2.0_rc3/samples/personal-details-2.0_rc3.xml +47 -0
  77. data/resources/record_2.0_rc3/samples/preferences-2.0_rc3.xml +4 -0
  78. data/resources/record_2.0_rc3/samples/record-2.0_rc3.xml +420 -0
  79. data/resources/record_2.0_rc3/samples/researcher-url-2.0_rc3.xml +19 -0
  80. data/resources/record_2.0_rc3/samples/researcher-urls-2.0_rc3.xml +21 -0
  81. data/resources/record_2.0_rc3/samples/search-2.0_rc3.xml +368 -0
  82. data/resources/record_2.0_rc3/samples/work-2.0_rc3.xml +49 -0
  83. data/resources/record_2.0_rc3/samples/work-full-2.0_rc3.xml +59 -0
  84. data/resources/record_2.0_rc3/search-2.0_rc3.xsd +82 -0
  85. data/resources/record_2.0_rc3/work-2.0_rc3.xsd +445 -0
  86. data/spec/api_spec.rb +59 -0
  87. data/spec/fixtures/vcr_cassettes/OrcidClient/get/should_get_works.yml +646 -0
  88. data/spec/fixtures/vcr_cassettes/OrcidClient/notifications/post/should_create_notification.yml +104 -0
  89. data/spec/fixtures/vcr_cassettes/OrcidClient/works/delete/should_delete_work.yml +38 -0
  90. data/spec/fixtures/vcr_cassettes/OrcidClient/works/get/should_get_works.yml +646 -0
  91. data/spec/fixtures/vcr_cassettes/OrcidClient/works/post/should_create_work.yml +116 -0
  92. data/spec/fixtures/vcr_cassettes/OrcidClient/works/put/should_update_work.yml +155 -0
  93. data/spec/fixtures/vcr_cassettes/OrcidClient_Notification/data.yml +44 -0
  94. data/spec/fixtures/vcr_cassettes/OrcidClient_Notification/schema/validates_data.yml +44 -0
  95. data/spec/fixtures/vcr_cassettes/OrcidClient_Notification/schema/validates_item_type_work.yml +41 -0
  96. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/citation.yml +50 -0
  97. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/contributors/literal.yml +47 -0
  98. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/contributors/multiple_titles.yml +47 -0
  99. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/contributors/valid.yml +50 -0
  100. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/contributors/with_ORCID_IDs.yml +157 -0
  101. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/data.yml +50 -0
  102. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/publication_date.yml +50 -0
  103. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/schema/validates_ORCID_IDs_for_contributors.yml +157 -0
  104. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/schema/validates_data.yml +50 -0
  105. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/schema/validates_work_type_data-set.yml +47 -0
  106. data/spec/fixtures/work.xml +33 -0
  107. data/spec/notification_spec.rb +42 -0
  108. data/spec/spec_helper.rb +32 -0
  109. data/spec/work_spec.rb +100 -0
  110. metadata +392 -0
@@ -0,0 +1,199 @@
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/internal" xmlns:internal="http://www.orcid.org/ns/internal"
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-2014 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_2.0_rc3/common-2.0_rc3.xsd" />
38
+
39
+ <xs:element name="internal">
40
+ <xs:complexType>
41
+ <xs:annotation>
42
+ <xs:documentation>(FOR INTERNAL USE ONLY) Container for data that
43
+ are
44
+ strictly for internal
45
+ use only.
46
+ </xs:documentation>
47
+ </xs:annotation>
48
+ <xs:sequence>
49
+ <xs:element minOccurs="0" name="security-details" type="internal:security-details" />
50
+ <xs:element minOccurs="0" name="preferences" type="internal:preferences" />
51
+ <xs:element minOccurs="0" ref="common:group-orcid-identifier">
52
+ <xs:annotation>
53
+ <xs:documentation>(FOR INTERNAL USE ONLY) Group ID for API
54
+ clients.
55
+ </xs:documentation>
56
+ </xs:annotation>
57
+ </xs:element>
58
+ <xs:element name="referred-by" type="xs:string" minOccurs="0"
59
+ maxOccurs="1">
60
+ <xs:annotation>
61
+ <xs:documentation>(FOR INTERNAL USE ONLY) User registration is
62
+ know to be driven by Member
63
+ </xs:documentation>
64
+ </xs:annotation>
65
+ </xs:element>
66
+ <xs:element minOccurs="0" name="salesforce-id" type="internal:salesforce-id" />
67
+ </xs:sequence>
68
+ <xs:attribute name="visibility" type="common:visibility" />
69
+ </xs:complexType>
70
+ </xs:element>
71
+
72
+ <xs:simpleType name="salesforce-id">
73
+ <xs:annotation>
74
+ <xs:documentation>(FOR INTERNAL USE ONLY) An ID that identifies a
75
+ profile in Salesforce.
76
+ </xs:documentation>
77
+ </xs:annotation>
78
+ <xs:restriction base="xs:string">
79
+ <xs:pattern value="([a-zA-Z0-9]){15}" />
80
+ </xs:restriction>
81
+ </xs:simpleType>
82
+
83
+ <xs:complexType name="security-details">
84
+ <xs:annotation>
85
+ <xs:documentation>(FOR INTERNAL USE ONLY) Security access details
86
+ </xs:documentation>
87
+ </xs:annotation>
88
+
89
+ <xs:sequence>
90
+ <xs:element name="encrypted-password" type="internal:encrypted-password" />
91
+ <xs:element name="security-question-id" type="internal:security-question-id"
92
+ minOccurs="0" maxOccurs="1" />
93
+ <xs:element name="encrypted-security-answer" type="internal:encrypted-security-answer"
94
+ minOccurs="0" maxOccurs="1" />
95
+ <xs:element name="encrypted-verification-code" type="internal:encrypted-verification-code"
96
+ minOccurs="1" maxOccurs="1" />
97
+ </xs:sequence>
98
+ </xs:complexType>
99
+
100
+ <xs:complexType name="preferences">
101
+ <xs:annotation>
102
+ <xs:documentation>(FOR INTERNAL USE ONLY) Preferences set by the
103
+ researcher or contributor.
104
+ </xs:documentation>
105
+ </xs:annotation>
106
+ <xs:sequence>
107
+ <xs:element name="send-email-frequency-days" type="xs:string">
108
+ <xs:annotation>
109
+ <xs:documentation>(FOR INTERNAL USE ONLY)
110
+ </xs:documentation>
111
+ </xs:annotation>
112
+ </xs:element>
113
+ <xs:element name="send-change-notifications">
114
+ <xs:annotation>
115
+ <xs:documentation>(FOR INTERNAL USE ONLY)
116
+ </xs:documentation>
117
+ </xs:annotation>
118
+ <xs:complexType>
119
+ <xs:simpleContent>
120
+ <xs:extension base="xs:boolean" />
121
+ </xs:simpleContent>
122
+ </xs:complexType>
123
+ </xs:element>
124
+ <xs:element name="send-orcid-news">
125
+ <xs:annotation>
126
+ <xs:documentation>(FOR INTERNAL USE ONLY)
127
+ </xs:documentation>
128
+ </xs:annotation>
129
+ <xs:complexType>
130
+ <xs:simpleContent>
131
+ <xs:extension base="xs:boolean" />
132
+ </xs:simpleContent>
133
+ </xs:complexType>
134
+ </xs:element>
135
+ <xs:element name="send-member-update-requests" type="xs:boolean">
136
+ <xs:annotation>
137
+ <xs:documentation>(FOR INTERNAL USE ONLY)
138
+ </xs:documentation>
139
+ </xs:annotation>
140
+ </xs:element>
141
+ <xs:element name="activities-visibility-default" type="internal:activities-visibility-default" />
142
+ <xs:element name="developer-tools-enabled" type="internal:developer-tools-enabled"
143
+ minOccurs="0" />
144
+ </xs:sequence>
145
+ </xs:complexType>
146
+
147
+ <xs:complexType name="encrypted-password" mixed="true">
148
+ <xs:annotation>
149
+ <xs:documentation>(FOR INTERNAL USE ONLY)
150
+ </xs:documentation>
151
+ </xs:annotation>
152
+ </xs:complexType>
153
+
154
+ <xs:complexType name="security-question-id">
155
+ <xs:annotation>
156
+ <xs:documentation>(FOR INTERNAL USE ONLY)
157
+ </xs:documentation>
158
+ </xs:annotation>
159
+
160
+ <xs:simpleContent>
161
+ <xs:extension base="xs:integer" />
162
+ </xs:simpleContent>
163
+ </xs:complexType>
164
+
165
+ <xs:complexType mixed="true" name="encrypted-security-answer">
166
+ <xs:annotation>
167
+ <xs:documentation>(FOR INTERNAL USE ONLY)
168
+ </xs:documentation>
169
+ </xs:annotation>
170
+ </xs:complexType>
171
+
172
+ <xs:complexType mixed="true" name="activities-visibility-default">
173
+ <xs:annotation>
174
+ <xs:documentation>(FOR INTERNAL USE ONLY)
175
+ </xs:documentation>
176
+ </xs:annotation>
177
+ <xs:simpleContent>
178
+ <xs:extension base="common:visibility" />
179
+ </xs:simpleContent>
180
+ </xs:complexType>
181
+
182
+ <xs:complexType name="developer-tools-enabled">
183
+ <xs:annotation>
184
+ <xs:documentation>(FOR INTERNAL USE ONLY)
185
+ </xs:documentation>
186
+ </xs:annotation>
187
+ <xs:simpleContent>
188
+ <xs:extension base="xs:boolean" />
189
+ </xs:simpleContent>
190
+ </xs:complexType>
191
+
192
+ <xs:complexType mixed="true" name="encrypted-verification-code">
193
+ <xs:annotation>
194
+ <xs:documentation>(FOR INTERNAL USE ONLY)
195
+ </xs:documentation>
196
+ </xs:annotation>
197
+ </xs:complexType>
198
+
199
+ </xs:schema>
@@ -0,0 +1,72 @@
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/keyword" xmlns:keyword="http://www.orcid.org/ns/keyword"
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-2014 ORCID,
14
+ Inc.
15
+ Licensed under an MIT-Style License (MIT)
16
+ http://orcid.org/open-source-license
17
+
18
+ This copyright and license
19
+ information (including a link to the full
20
+ license)
21
+ shall be included in
22
+ its entirety in all copies or substantial portion of
23
+ the software.
24
+
25
+ =============================================================================
26
+ The schema describes the message format used for ORCID API requests
27
+ and responses.
28
+ </xs:documentation>
29
+ <xs:appinfo>
30
+ <sch:title>Schematron validation</sch:title>
31
+ <sch:ns prefix="keyword" uri="http://www.orcid.org/ns/keyword" />
32
+ </xs:appinfo>
33
+ </xs:annotation>
34
+
35
+ <xs:import namespace="http://www.orcid.org/ns/common"
36
+ schemaLocation="../common_2.0_rc3/common-2.0_rc3.xsd" />
37
+
38
+ <xs:element name="keywords">
39
+ <xs:complexType>
40
+ <xs:annotation>
41
+ <xs:documentation>Keyworks container</xs:documentation>
42
+ </xs:annotation>
43
+ <xs:sequence>
44
+ <xs:element ref="common:last-modified-date" minOccurs="0" maxOccurs="1" />
45
+ <xs:element name="keyword" type="keyword:keyword" minOccurs="0"
46
+ maxOccurs="unbounded" />
47
+ </xs:sequence>
48
+ <xs:attribute name="path" type="common:element-path" use="optional" />
49
+ </xs:complexType>
50
+ </xs:element>
51
+
52
+ <xs:element name="keyword">
53
+ <xs:annotation>
54
+ <xs:documentation>Keyword</xs:documentation>
55
+ </xs:annotation>
56
+ <xs:complexType>
57
+ <xs:complexContent>
58
+ <xs:extension base="keyword:keyword" />
59
+ </xs:complexContent>
60
+ </xs:complexType>
61
+ </xs:element>
62
+
63
+ <xs:complexType name="keyword">
64
+ <xs:complexContent>
65
+ <xs:extension base="common:element-summary">
66
+ <xs:sequence>
67
+ <xs:element minOccurs="1" name="content" type="common:non-empty-string" />
68
+ </xs:sequence>
69
+ </xs:extension>
70
+ </xs:complexContent>
71
+ </xs:complexType>
72
+ </xs:schema>
@@ -0,0 +1,88 @@
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/other-name" xmlns:other-name="http://www.orcid.org/ns/other-name"
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-2014 ORCID,
14
+ Inc.
15
+ Licensed under an MIT-Style License (MIT)
16
+ http://orcid.org/open-source-license
17
+
18
+ This copyright and license
19
+ information (including a link to the full
20
+ license)
21
+ shall be included in
22
+ its entirety in all copies or substantial portion of
23
+ the software.
24
+
25
+ =============================================================================
26
+ The schema describes the message format used for ORCID API requests
27
+ and responses.
28
+ </xs:documentation>
29
+ <xs:appinfo>
30
+ <sch:title>Schematron validation</sch:title>
31
+ <sch:ns prefix="other-name" uri="http://www.orcid.org/ns/other-name" />
32
+ </xs:appinfo>
33
+ </xs:annotation>
34
+ <xs:import namespace="http://www.orcid.org/ns/common"
35
+ schemaLocation="../common_2.0_rc3/common-2.0_rc3.xsd" />
36
+
37
+ <xs:element name="other-names">
38
+ <xs:complexType>
39
+ <xs:annotation>
40
+ <xs:documentation>(Optional) Container that includes other name(s)
41
+ that the researcher or contributor may be known by. (see element
42
+ for more details.) The visibility attribute (private, limited or
43
+ public) can be set at record creation, and indicates who can see
44
+ this section of information.
45
+ </xs:documentation>
46
+ </xs:annotation>
47
+ <xs:sequence>
48
+ <xs:element ref="common:last-modified-date" minOccurs="0" maxOccurs="1" />
49
+ <xs:element name="other-name" type="other-name:other-name"
50
+ minOccurs="0" maxOccurs="unbounded" />
51
+ </xs:sequence>
52
+ <xs:attribute name="path" type="common:element-path" use="optional" />
53
+ </xs:complexType>
54
+ </xs:element>
55
+
56
+ <xs:element name="other-name">
57
+ <xs:annotation>
58
+ <xs:documentation>(Optional) Other name(s)
59
+ that the researcher or contributor may be known by.
60
+ </xs:documentation>
61
+ </xs:annotation>
62
+ <xs:complexType>
63
+ <xs:complexContent>
64
+ <xs:extension base="other-name:other-name"></xs:extension>
65
+ </xs:complexContent>
66
+ </xs:complexType>
67
+ </xs:element>
68
+
69
+ <xs:complexType name="other-name">
70
+ <xs:annotation>
71
+ <xs:documentation>The display name and URL for one of the researcher
72
+ or contributor's sites.
73
+ </xs:documentation>
74
+ </xs:annotation>
75
+ <xs:complexContent>
76
+ <xs:extension base="common:element-summary">
77
+ <xs:sequence>
78
+ <xs:element minOccurs="1" name="content" type="common:non-empty-string">
79
+ <xs:annotation>
80
+ <xs:documentation>A short display name describing the URL.
81
+ </xs:documentation>
82
+ </xs:annotation>
83
+ </xs:element>
84
+ </xs:sequence>
85
+ </xs:extension>
86
+ </xs:complexContent>
87
+ </xs:complexType>
88
+ </xs:schema>
@@ -0,0 +1,246 @@
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/peer-review"
5
+ xmlns:common="http://www.orcid.org/ns/common"
6
+ xmlns:work="http://www.orcid.org/ns/work"
7
+
8
+ xmlns:peer-review="http://www.orcid.org/ns/peer-review">
9
+ <xs:annotation>
10
+ <xs:documentation>
11
+ =============================================================================
12
+
13
+ ORCID (R) Open Source
14
+ http://orcid.org
15
+
16
+ Copyright (c) 2012-2014 ORCID,
17
+ Inc.
18
+ Licensed under an MIT-Style License (MIT)
19
+ http://orcid.org/open-source-license
20
+
21
+ This copyright and license
22
+ information (including a link to the full
23
+ license)
24
+ shall be included in
25
+ its entirety in all copies or substantial portion of
26
+ the software.
27
+
28
+ =============================================================================
29
+ The schema describes the message format used for ORCID API requests
30
+ and responses.
31
+ The top level element is orcid-message.
32
+ </xs:documentation>
33
+ <xs:appinfo>
34
+ <sch:title>Schematron validation</sch:title>
35
+ <sch:ns prefix="orcid" uri="http://www.orcid.org/ns/orcid" />
36
+ </xs:appinfo>
37
+ </xs:annotation>
38
+
39
+ <xs:import namespace="http://www.orcid.org/ns/common"
40
+ schemaLocation="../common_2.0_rc3/common-2.0_rc3.xsd" />
41
+ <xs:import namespace="http://www.orcid.org/ns/work"
42
+ schemaLocation="work-2.0_rc3.xsd" />
43
+
44
+ <xs:element name="peer-review">
45
+ <xs:complexType>
46
+ <xs:complexContent>
47
+ <xs:extension base="common:element-summary">
48
+ <xs:sequence>
49
+ <xs:element name="reviewer-role" type="peer-review:role" minOccurs="1" maxOccurs="1">
50
+ <xs:annotation>
51
+ <xs:documentation>The role played by a person in their
52
+ contribution to a review.
53
+ </xs:documentation>
54
+ </xs:annotation>
55
+ </xs:element>
56
+ <xs:element name="review-identifiers" type="common:external-ids"
57
+ minOccurs="1">
58
+ <xs:annotation>
59
+ <xs:documentation>Unique identifier(s) of the review. <i>This identifier refers to the review itself, NOT to the item that was reviewed.</i> At least one identifier is required. In the case where there is no persistent unique identifier for the review, the source providing the data should generate a locally-sourced unique identifier for the review (e.g., type "organization-defined-type"). This field will be checked when adding new reviews to prevent double counting of review activity.
60
+ </xs:documentation>
61
+ </xs:annotation>
62
+ </xs:element>
63
+ <xs:element name="review-url" type="common:url" minOccurs="0">
64
+ <xs:annotation>
65
+ <xs:documentation>A link to a representation of the review on the web. <i>This URL refers to the review itself, NOT to the item that was reviewed.</i>
66
+ </xs:documentation>
67
+ </xs:annotation>
68
+ </xs:element>
69
+ <xs:element name="review-type" type="peer-review:type"
70
+ minOccurs="1" maxOccurs="1">
71
+ <xs:annotation>
72
+ <xs:documentation>The kind of review applied to the subject type
73
+ reviewed
74
+ </xs:documentation>
75
+ </xs:annotation>
76
+ </xs:element>
77
+ <xs:element name="review-completion-date" type="common:fuzzy-date"
78
+ minOccurs="1" maxOccurs="1">
79
+ <xs:annotation>
80
+ <xs:documentation>The date on which the review was completed. Allowable values: yyyy; yyyy-mm; yyyy-mm-dd, formatted using the ORCID fuzzy date format.
81
+ </xs:documentation>
82
+ </xs:annotation>
83
+ </xs:element>
84
+ <xs:element name="review-group-id" type="common:group-id" minOccurs="1" maxOccurs="1">
85
+ <xs:annotation>
86
+ <xs:documentation>Identifier for the group that this review should be a part of for aggregation purposes
87
+ </xs:documentation>
88
+ </xs:annotation>
89
+ </xs:element>
90
+ <xs:element name="subject-external-identifier" type="common:external-id"
91
+ minOccurs="0">
92
+ <xs:annotation>
93
+ <xs:documentation>The unique identifier of the subject being
94
+ reviewed.
95
+ </xs:documentation>
96
+ </xs:annotation>
97
+ </xs:element>
98
+ <xs:element name="subject-container-name" type="work:journal-title"
99
+ minOccurs="0" maxOccurs="1">
100
+ <xs:annotation>
101
+ <xs:documentation>The name of the journal, conference, grant review panel, or other applicable object of which the review subject was a part.
102
+ </xs:documentation>
103
+ </xs:annotation>
104
+ </xs:element>
105
+ <xs:element name="subject-type" type="work:work-type" minOccurs="0" maxOccurs="1">
106
+ <xs:annotation>
107
+ <xs:documentation>The type of object that the review subject is (for example, a journal article, grant, etc).
108
+ </xs:documentation>
109
+ </xs:annotation>
110
+ </xs:element>
111
+ <xs:element name="subject-name" type="work:work-title"
112
+ minOccurs="0" maxOccurs="1">
113
+ <xs:annotation>
114
+ <xs:documentation>The name/title of the subject object that was reviewed.
115
+ </xs:documentation>
116
+ </xs:annotation>
117
+ </xs:element>
118
+ <xs:element name="subject-url" type="common:url" minOccurs="0" maxOccurs="1">
119
+ <xs:annotation>
120
+ <xs:documentation>The URL of the subject object that was reviewed.
121
+ </xs:documentation>
122
+ </xs:annotation>
123
+ </xs:element>
124
+ <!-- orcid orgs doesn't match specification -->
125
+ <xs:element name="convening-organization" type="common:organization"
126
+ minOccurs="1" maxOccurs="1">
127
+ <xs:annotation>
128
+ <xs:documentation>Information about the organization convening the review (journal publisher, conference organizer, funding agency, etc). Whenever possible, this organization is identified by a unique identifier like the Ringgold ID or FundRef ID.
129
+ </xs:documentation>
130
+ </xs:annotation>
131
+ </xs:element>
132
+ </xs:sequence>
133
+ </xs:extension>
134
+ </xs:complexContent>
135
+ </xs:complexType>
136
+ </xs:element>
137
+
138
+ <xs:element name="summary">
139
+ <xs:complexType>
140
+ <xs:complexContent>
141
+ <xs:extension base="common:element-summary">
142
+ <xs:sequence>
143
+ <!-- orcid orgs doesn't match specification -->
144
+ <xs:element ref="common:external-ids"
145
+ minOccurs="0">
146
+ <xs:annotation>
147
+ <xs:documentation>The unique generated identifier of the review.
148
+ </xs:documentation>
149
+ </xs:annotation>
150
+ </xs:element>
151
+ <xs:element name="completion-date" type="common:fuzzy-date"
152
+ minOccurs="1" maxOccurs="1">
153
+ <xs:annotation>
154
+ <xs:documentation>The date on which the review was completed. Allowable values: yyyy; yyyy-mm; yyyy-mm-dd, formatted using the ORCID fuzzy date format.
155
+ </xs:documentation>
156
+ </xs:annotation>
157
+ </xs:element>
158
+ <xs:element name="review-group-id" type="common:group-id" minOccurs="1" maxOccurs="1">
159
+ <xs:annotation>
160
+ <xs:documentation>Identifier for the group that this review should be a part of for aggregation purposes
161
+ </xs:documentation>
162
+ </xs:annotation>
163
+ </xs:element>
164
+ <xs:element name="convening-organization" type="common:organization"
165
+ minOccurs="1" maxOccurs="1">
166
+ <xs:annotation>
167
+ <xs:documentation>Information about the organization convening the review (journal publisher, conference organizer, funding agency, etc). Whenever possible, this organization is identified by a unique identifier like the Ringgold ID or FundRef ID.
168
+ </xs:documentation>
169
+ </xs:annotation>
170
+ </xs:element>
171
+ </xs:sequence>
172
+ </xs:extension>
173
+ </xs:complexContent>
174
+ </xs:complexType>
175
+ </xs:element>
176
+
177
+ <xs:simpleType name="role">
178
+ <xs:annotation>
179
+ <xs:documentation>The role performed reviewer
180
+ </xs:documentation>
181
+ </xs:annotation>
182
+ <xs:restriction base="xs:string">
183
+ <xs:enumeration value="reviewer">
184
+ <xs:annotation>
185
+ <xs:documentation>
186
+ A person who formally assess or examines an
187
+ output with a view to
188
+ commenting and evaluating it.
189
+ </xs:documentation>
190
+ </xs:annotation>
191
+ </xs:enumeration>
192
+ <xs:enumeration value="editor">
193
+ <xs:annotation>
194
+ <xs:documentation>A person who coordinates reviews and/or is
195
+ responsible for decision making on the content of a publication.
196
+ </xs:documentation>
197
+ </xs:annotation>
198
+ </xs:enumeration>
199
+ <xs:enumeration value="member">
200
+ <xs:annotation>
201
+ <xs:documentation>A person participating in a process, committee or
202
+ activity.
203
+ </xs:documentation>
204
+ </xs:annotation>
205
+ </xs:enumeration>
206
+ <xs:enumeration value="chair">
207
+ <xs:annotation>
208
+ <xs:documentation>A person who coordinates reviews and/or is
209
+ responsible for decision making on the content of a conference.
210
+ </xs:documentation>
211
+ </xs:annotation>
212
+ </xs:enumeration>
213
+ <xs:enumeration value="organizer">
214
+ <xs:annotation>
215
+ <xs:documentation>A person who makes arrangements or preparations
216
+ for an event or activity.
217
+ </xs:documentation>
218
+ </xs:annotation>
219
+ </xs:enumeration>
220
+ </xs:restriction>
221
+ </xs:simpleType>
222
+
223
+ <xs:simpleType name="type">
224
+ <xs:annotation>
225
+ <xs:documentation>The role performed reviewer
226
+ </xs:documentation>
227
+ </xs:annotation>
228
+ <xs:restriction base="xs:string">
229
+ <xs:enumeration value="review">
230
+ <xs:annotation>
231
+ <xs:documentation>An expert assessment of a scholarly output that
232
+ contributes to a decision regarding on the object of the review.
233
+ </xs:documentation>
234
+ </xs:annotation>
235
+ </xs:enumeration>
236
+ <xs:enumeration value="evaluation">
237
+ <xs:annotation>
238
+ <xs:documentation>
239
+ A post­peer review, expert evaluation of a
240
+ scholarly output.
241
+ </xs:documentation>
242
+ </xs:annotation>
243
+ </xs:enumeration>
244
+ </xs:restriction>
245
+ </xs:simpleType>
246
+ </xs:schema>