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,98 @@
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/person" xmlns:person="http://www.orcid.org/ns/person"
5
+ xmlns:other-name="http://www.orcid.org/ns/other-name" xmlns:common="http://www.orcid.org/ns/common"
6
+ xmlns:researcher-url="http://www.orcid.org/ns/researcher-url"
7
+ xmlns:email="http://www.orcid.org/ns/email" xmlns:personal-details="http://www.orcid.org/ns/personal-details"
8
+ xmlns:address="http://www.orcid.org/ns/address" xmlns:keyword="http://www.orcid.org/ns/keyword"
9
+ xmlns:external-identifier="http://www.orcid.org/ns/external-identifier">
10
+ <xs:annotation>
11
+ <xs:documentation>
12
+ =============================================================================
13
+
14
+ ORCID (R) Open Source
15
+ http://orcid.org
16
+
17
+ Copyright (c) 2012-2014 ORCID,
18
+ Inc.
19
+ Licensed under an MIT-Style License (MIT)
20
+ http://orcid.org/open-source-license
21
+
22
+ This copyright and license
23
+ information (including a link to the full
24
+ license)
25
+ shall be included in
26
+ its entirety in all copies or substantial portion of
27
+ the software.
28
+
29
+ =============================================================================
30
+ The schema describes the message format used for ORCID API requests
31
+ and responses.
32
+ </xs:documentation>
33
+ <xs:appinfo>
34
+ <sch:title>Schematron validation</sch:title>
35
+ <sch:ns prefix="person" uri="http://www.orcid.org/ns/person" />
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/personal-details"
42
+ schemaLocation="../record_2.0_rc3/personal-details-2.0_rc3.xsd" />
43
+ <xs:import namespace="http://www.orcid.org/ns/other-name"
44
+ schemaLocation="../record_2.0_rc3/other-name-2.0_rc3.xsd" />
45
+ <xs:import namespace="http://www.orcid.org/ns/researcher-url"
46
+ schemaLocation="../record_2.0_rc3/researcher-url-2.0_rc3.xsd" />
47
+ <xs:import namespace="http://www.orcid.org/ns/email"
48
+ schemaLocation="../record_2.0_rc3/email-2.0_rc3.xsd" />
49
+ <xs:import namespace="http://www.orcid.org/ns/address"
50
+ schemaLocation="../record_2.0_rc3/address-2.0_rc3.xsd" />
51
+ <xs:import namespace="http://www.orcid.org/ns/keyword"
52
+ schemaLocation="../record_2.0_rc3/keyword-2.0_rc3.xsd" />
53
+ <xs:import namespace="http://www.orcid.org/ns/external-identifier"
54
+ schemaLocation="../record_2.0_rc3/person-external-identifier-2.0_rc3.xsd" />
55
+
56
+ <xs:element name="person">
57
+ <xs:annotation>
58
+ <xs:documentation>The biographical details of the researcher or
59
+ contributor.
60
+ </xs:documentation>
61
+ </xs:annotation>
62
+ <xs:complexType>
63
+ <xs:sequence>
64
+ <xs:element ref="common:last-modified-date" minOccurs="0" maxOccurs="1" />
65
+ <xs:element name="name" type="personal-details:name"
66
+ minOccurs="0" maxOccurs="1" />
67
+ <xs:element ref="other-name:other-names" minOccurs="0"
68
+ maxOccurs="1" />
69
+ <xs:element name="biography" type="personal-details:biography"
70
+ minOccurs="0" maxOccurs="1" />
71
+ <xs:element ref="researcher-url:researcher-urls"
72
+ minOccurs="0" maxOccurs="1" />
73
+ <xs:element ref="email:emails" minOccurs="1" maxOccurs="1" />
74
+ <xs:element ref="address:addresses" minOccurs="0"
75
+ maxOccurs="1" />
76
+ <xs:element ref="keyword:keywords" minOccurs="0"
77
+ maxOccurs="1" />
78
+ <xs:element ref="external-identifier:external-identifiers"
79
+ minOccurs="0" maxOccurs="1" />
80
+ </xs:sequence>
81
+ <xs:attribute name="path" type="common:element-path" use="optional" />
82
+ </xs:complexType>
83
+ </xs:element>
84
+
85
+ <xs:complexType name="credit-name">
86
+ <xs:simpleContent>
87
+ <xs:extension base="personal-details:credit-name" />
88
+ </xs:simpleContent>
89
+ </xs:complexType>
90
+
91
+ <xs:complexType name="scope-paths">
92
+ <xs:sequence>
93
+ <xs:element name="scope-path" type="common:scope-path-type"
94
+ minOccurs="1" maxOccurs="unbounded" />
95
+ </xs:sequence>
96
+ </xs:complexType>
97
+
98
+ </xs:schema>
@@ -0,0 +1,63 @@
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/external-identifier"
5
+ xmlns:external-identifier="http://www.orcid.org/ns/external-identifier"
6
+ xmlns:common="http://www.orcid.org/ns/common">
7
+ <xs:annotation>
8
+ <xs:documentation>
9
+ =============================================================================
10
+
11
+ ORCID (R) Open Source
12
+ http://orcid.org
13
+
14
+ Copyright (c) 2012-2014 ORCID,
15
+ Inc.
16
+ Licensed under an MIT-Style License (MIT)
17
+ http://orcid.org/open-source-license
18
+
19
+ This copyright and license
20
+ information (including a link to the full
21
+ license)
22
+ shall be included in
23
+ its entirety in all copies or substantial portion of
24
+ the software.
25
+
26
+ =============================================================================
27
+ The schema describes the message format used for ORCID API requests
28
+ and responses.
29
+ </xs:documentation>
30
+ <xs:appinfo>
31
+ <sch:title>Schematron validation</sch:title>
32
+ <sch:ns prefix="external-identifier" uri="http://www.orcid.org/ns/external-identifier" />
33
+ </xs:appinfo>
34
+ </xs:annotation>
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="external-identifiers">
39
+ <xs:annotation>
40
+ <xs:documentation>External identifier's container</xs:documentation>
41
+ </xs:annotation>
42
+ <xs:complexType>
43
+ <xs:sequence>
44
+ <xs:element ref="common:last-modified-date" minOccurs="0" maxOccurs="1" />
45
+ <xs:element name="external-identifier"
46
+ type="common:external-id" minOccurs="0"
47
+ maxOccurs="unbounded" />
48
+ </xs:sequence>
49
+ <xs:attribute name="path" type="common:element-path" use="optional" />
50
+ </xs:complexType>
51
+ </xs:element>
52
+
53
+ <xs:element name="external-identifier">
54
+ <xs:annotation>
55
+ <xs:documentation>External identifier container</xs:documentation>
56
+ </xs:annotation>
57
+ <xs:complexType>
58
+ <xs:complexContent>
59
+ <xs:extension base="common:external-id" />
60
+ </xs:complexContent>
61
+ </xs:complexType>
62
+ </xs:element>
63
+ </xs:schema>
@@ -0,0 +1,186 @@
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/personal-details"
5
+ xmlns:other-name="http://www.orcid.org/ns/other-name" xmlns:common="http://www.orcid.org/ns/common"
6
+ xmlns:personal-details="http://www.orcid.org/ns/personal-details">
7
+ <xs:annotation>
8
+ <xs:documentation>
9
+ =============================================================================
10
+
11
+ ORCID (R) Open Source
12
+ http://orcid.org
13
+
14
+ Copyright (c) 2012-2014 ORCID,
15
+ Inc.
16
+ Licensed under an MIT-Style License (MIT)
17
+ http://orcid.org/open-source-license
18
+
19
+ This copyright and license
20
+ information (including a link to the full
21
+ license)
22
+ shall be included in
23
+ its entirety in all copies or substantial portion of
24
+ the software.
25
+
26
+ =============================================================================
27
+ The schema describes the message format used for ORCID API requests
28
+ and responses.
29
+ </xs:documentation>
30
+ <xs:appinfo>
31
+ <sch:title>Schematron validation</sch:title>
32
+ <sch:ns prefix="personal-details" uri="http://www.orcid.org/ns/personal-details" />
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
+ <xs:import namespace="http://www.orcid.org/ns/other-name"
39
+ schemaLocation="../record_2.0_rc3/other-name-2.0_rc3.xsd" />
40
+
41
+ <xs:element name="personal-details">
42
+ <xs:annotation>
43
+ <xs:documentation>Container for the personal details of the
44
+ researcher or contributor.
45
+ </xs:documentation>
46
+ </xs:annotation>
47
+ <xs:complexType>
48
+ <xs:sequence>
49
+ <xs:element ref="common:last-modified-date" minOccurs="0" maxOccurs="1" />
50
+ <xs:element name="name" type="personal-details:name"
51
+ minOccurs="0" maxOccurs="1" />
52
+ <xs:element ref="other-name:other-names" minOccurs="0"
53
+ maxOccurs="1" />
54
+ <xs:element name="biography" type="personal-details:biography"
55
+ minOccurs="0" maxOccurs="1" />
56
+ </xs:sequence>
57
+ <xs:attribute name="path" type="common:element-path" use="optional" />
58
+ </xs:complexType>
59
+ </xs:element>
60
+
61
+ <xs:element name="name">
62
+ <xs:annotation>
63
+ <xs:documentation>Container for the
64
+ researcher or contributor name.
65
+ </xs:documentation>
66
+ </xs:annotation>
67
+ <xs:complexType>
68
+ <xs:complexContent>
69
+ <xs:extension base="personal-details:name" />
70
+ </xs:complexContent>
71
+ </xs:complexType>
72
+ </xs:element>
73
+
74
+ <xs:element name="credit-name">
75
+ <xs:annotation>
76
+ <xs:documentation>Container for the
77
+ researcher or contributor credit name.
78
+ </xs:documentation>
79
+ </xs:annotation>
80
+ <xs:complexType>
81
+ <xs:simpleContent>
82
+ <xs:extension base="personal-details:credit-name" />
83
+ </xs:simpleContent>
84
+ </xs:complexType>
85
+ </xs:element>
86
+
87
+ <xs:element name="biography">
88
+ <xs:annotation>
89
+ <xs:documentation>Container for the
90
+ researcher or contributor biography.
91
+ </xs:documentation>
92
+ </xs:annotation>
93
+ <xs:complexType>
94
+ <xs:complexContent>
95
+ <xs:extension base="personal-details:biography" />
96
+ </xs:complexContent>
97
+ </xs:complexType>
98
+ </xs:element>
99
+
100
+ <xs:complexType name="name">
101
+ <xs:annotation>
102
+ <xs:documentation>Container for the names of the
103
+ researcher or
104
+ contributor.
105
+ </xs:documentation>
106
+ </xs:annotation>
107
+ <xs:sequence>
108
+ <xs:element ref="common:created-date" minOccurs="0" maxOccurs="1" />
109
+ <xs:element ref="common:last-modified-date" minOccurs="0" maxOccurs="1" />
110
+ <xs:element name="given-names" minOccurs="0" maxOccurs="1">
111
+ <xs:annotation>
112
+ <xs:documentation>The given (first and middle) name(s) of the
113
+ researcher or contributor.
114
+ </xs:documentation>
115
+ </xs:annotation>
116
+ <xs:complexType>
117
+ <xs:simpleContent>
118
+ <xs:extension base="common:non-empty-string" />
119
+ </xs:simpleContent>
120
+ </xs:complexType>
121
+ </xs:element>
122
+ <xs:element name="family-name" minOccurs="0" maxOccurs="1">
123
+ <xs:annotation>
124
+ <xs:documentation>The family (last) name of the researcher or
125
+ contributor. This element is optional, because some cultures only
126
+ use given names.
127
+ </xs:documentation>
128
+ </xs:annotation>
129
+ <xs:complexType>
130
+ <xs:simpleContent>
131
+ <xs:extension base="common:non-empty-string" />
132
+ </xs:simpleContent>
133
+ </xs:complexType>
134
+ </xs:element>
135
+ <xs:element name="credit-name" minOccurs="0" maxOccurs="1">
136
+ <xs:annotation>
137
+ <xs:documentation>The full name of the researcher or contributor
138
+ as
139
+ it generally appears on their published works. (see element
140
+ for
141
+ more details.) The visibility attribute (private, limited or
142
+ public) can be set at record creation, and indicates who can see
143
+ this section of information.
144
+ </xs:documentation>
145
+ </xs:annotation>
146
+ <xs:complexType>
147
+ <xs:simpleContent>
148
+ <xs:extension base="personal-details:credit-name" />
149
+ </xs:simpleContent>
150
+ </xs:complexType>
151
+ </xs:element>
152
+ </xs:sequence>
153
+ <xs:attribute name="visibility" type="common:visibility" use="optional"/>
154
+ <xs:attribute name="path" type="common:element-path" use="optional" />
155
+ </xs:complexType>
156
+
157
+ <xs:complexType name="biography">
158
+ <xs:annotation>
159
+ <xs:documentation>Description of the researcher's professional
160
+ career. The visibility attribute (private, limited or public) can be
161
+ set at record creation, and indicates who can see this section of
162
+ information.
163
+ </xs:documentation>
164
+ </xs:annotation>
165
+ <xs:sequence>
166
+ <xs:element ref="common:created-date" minOccurs="0" maxOccurs="1" />
167
+ <xs:element ref="common:last-modified-date" minOccurs="0" maxOccurs="1" />
168
+ <xs:element minOccurs="1" name="content" type="common:non-empty-string">
169
+ <xs:annotation>
170
+ <xs:documentation>A short display name describing the URL.
171
+ </xs:documentation>
172
+ </xs:annotation>
173
+ </xs:element>
174
+ </xs:sequence>
175
+ <xs:attribute name="visibility" type="common:visibility" use="optional"/>
176
+ <xs:attribute name="path" type="common:element-path" use="optional" />
177
+ </xs:complexType>
178
+
179
+ <xs:complexType name="credit-name">
180
+ <xs:simpleContent>
181
+ <xs:extension base="common:non-empty-string">
182
+ <xs:attribute name="visibility" type="common:visibility" use="optional"/>
183
+ </xs:extension>
184
+ </xs:simpleContent>
185
+ </xs:complexType>
186
+ </xs:schema>
@@ -0,0 +1,50 @@
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/preferences" xmlns:preferences="http://www.orcid.org/ns/preferences"
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
+ <xs:import namespace="http://www.orcid.org/ns/common"
36
+ schemaLocation="../common_2.0_rc3/common-2.0_rc3.xsd" />
37
+ <xs:element name="preferences">
38
+ <xs:complexType>
39
+ <xs:annotation>
40
+ <xs:documentation>Preferences set by the researcher or contributor.
41
+ (currently language preference)
42
+ </xs:documentation>
43
+ </xs:annotation>
44
+ <xs:sequence>
45
+ <xs:element name="locale" type="common:locale" />
46
+ </xs:sequence>
47
+ </xs:complexType>
48
+ </xs:element>
49
+
50
+ </xs:schema>
@@ -0,0 +1,105 @@
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/record" xmlns:internal="http://www.orcid.org/ns/internal"
5
+ xmlns:person="http://www.orcid.org/ns/person" xmlns:common="http://www.orcid.org/ns/common"
6
+ xmlns:work="http://www.orcid.org/ns/work" xmlns:funding="http://www.orcid.org/ns/funding"
7
+ xmlns:education="http://www.orcid.org/ns/education" xmlns:employment="http://www.orcid.org/ns/employment"
8
+ xmlns:deprecated="http://www.orcid.org/ns/deprecated" xmlns:activities="http://www.orcid.org/ns/activities"
9
+ xmlns:history="http://www.orcid.org/ns/history" xmlns:record="http://www.orcid.org/ns/record"
10
+ xmlns:preferences="http://www.orcid.org/ns/preferences" xmlns:peer-review="http://www.orcid.org/ns/peer-review">
11
+ <xs:annotation>
12
+ <xs:documentation>
13
+ =============================================================================
14
+
15
+ ORCID (R) Open Source
16
+ http://orcid.org
17
+
18
+ Copyright (c) 2012-2014 ORCID,
19
+ Inc.
20
+ Licensed under an MIT-Style License (MIT)
21
+ http://orcid.org/open-source-license
22
+
23
+ This copyright and license
24
+ information (including a link to the full
25
+ license)
26
+ shall be included in
27
+ its entirety in all copies or substantial portion of
28
+ the software.
29
+
30
+ =============================================================================
31
+ The schema describes the message format used for ORCID API requests
32
+ and responses.
33
+ The top level element is orcid-message.
34
+ </xs:documentation>
35
+ <xs:appinfo>
36
+ <sch:title>Schematron validation</sch:title>
37
+ <sch:ns prefix="orcid" uri="http://www.orcid.org/ns/orcid" />
38
+ </xs:appinfo>
39
+ </xs:annotation>
40
+
41
+ <xs:import namespace="http://www.orcid.org/ns/activities"
42
+ schemaLocation="activities-2.0_rc3.xsd" />
43
+ <xs:import namespace="http://www.orcid.org/ns/person"
44
+ schemaLocation="person-2.0_rc3.xsd" />
45
+ <xs:import namespace="http://www.orcid.org/ns/common"
46
+ schemaLocation="../common_2.0_rc3/common-2.0_rc3.xsd" />
47
+ <xs:import namespace="http://www.orcid.org/ns/deprecated"
48
+ schemaLocation="deprecated-2.0_rc3.xsd" />
49
+ <xs:import namespace="http://www.orcid.org/ns/history"
50
+ schemaLocation="history-2.0_rc3.xsd" />
51
+ <xs:import namespace="http://www.orcid.org/ns/internal"
52
+ schemaLocation="internal-2.0_rc3.xsd" />
53
+ <xs:import namespace="http://www.orcid.org/ns/preferences"
54
+ schemaLocation="preferences-2.0_rc3.xsd" />
55
+ <xs:import namespace="http://www.orcid.org/ns/work"
56
+ schemaLocation="work-2.0_rc3.xsd" />
57
+ <xs:import namespace="http://www.orcid.org/ns/funding"
58
+ schemaLocation="funding-2.0_rc3.xsd" />
59
+ <xs:import namespace="http://www.orcid.org/ns/education"
60
+ schemaLocation="education-2.0_rc3.xsd" />
61
+ <xs:import namespace="http://www.orcid.org/ns/employment"
62
+ schemaLocation="employment-2.0_rc3.xsd" />
63
+ <xs:import namespace="http://www.orcid.org/ns/peer-review"
64
+ schemaLocation="peer-review-2.0_rc3.xsd" />
65
+
66
+ <xs:element name="record">
67
+ <xs:complexType>
68
+ <xs:annotation>
69
+ <xs:documentation>The container element for a researcher or
70
+ contributor ORCID Record.
71
+ * The type attribute can only be set by
72
+ ORCID, and indicates the type of ORCID Record the information
73
+ refers
74
+ to. In most cases the value will be "user" to indicate an
75
+ ORCID iD
76
+ holder.
77
+ * The client type attribute is set by ORCID, and is
78
+ present
79
+ when the type attribute is "group" or "client". This
80
+ attribute
81
+ indicates the API privileges held by the group as
82
+ indicated by
83
+ their
84
+ ORCID Membership Agreement.
85
+ </xs:documentation>
86
+ </xs:annotation>
87
+ <xs:sequence>
88
+ <xs:element ref="common:orcid-identifier" minOccurs="0"
89
+ maxOccurs="1" />
90
+ <xs:element ref="deprecated:deprecated" minOccurs="0"
91
+ maxOccurs="1" />
92
+ <xs:element ref="preferences:preferences" minOccurs="0"
93
+ maxOccurs="1" />
94
+ <xs:element ref="history:history" minOccurs="0"
95
+ maxOccurs="1" />
96
+ <xs:element ref="person:person" minOccurs="0" maxOccurs="1" />
97
+ <xs:element ref="activities:activities-summary"
98
+ minOccurs="0" maxOccurs="1" />
99
+ <xs:element ref="internal:internal" minOccurs="0"
100
+ maxOccurs="1" />
101
+ </xs:sequence>
102
+ </xs:complexType>
103
+ </xs:element>
104
+
105
+ </xs:schema>