orcid_client 0.8 → 0.9.5

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/.github/workflows/build.yml +39 -0
  3. data/.github/workflows/changelog.yml +36 -0
  4. data/.github/workflows/release.yml +48 -0
  5. data/CHANGELOG.md +169 -0
  6. data/Gemfile.lock +135 -117
  7. data/README.md +6 -6
  8. data/lib/orcid_client/api.rb +2 -1
  9. data/lib/orcid_client/base.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 +8 -5
  13. data/orcid_client.gemspec +3 -4
  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 +2 -2
  130. data/spec/fixtures/external_identifier.xml +1 -1
  131. data/spec/fixtures/vcr_cassettes/OrcidClient/works/get/should_get_works.yml +23 -10
  132. data/spec/fixtures/vcr_cassettes/OrcidClient/works/post/should_create_work.yml +71 -74
  133. data/spec/fixtures/vcr_cassettes/OrcidClient_Notification/data.yml +43 -55
  134. data/spec/fixtures/vcr_cassettes/OrcidClient_Notification/schema/validates_data.yml +43 -55
  135. data/spec/fixtures/vcr_cassettes/OrcidClient_Notification/schema/validates_item_type_work.yml +39 -44
  136. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/contributors/literal.yml +43 -51
  137. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/contributors/valid.yml +40 -48
  138. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/contributors/with_ORCID_IDs.yml +39 -30
  139. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/data.yml +41 -49
  140. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/publication_date.yml +40 -48
  141. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/schema/validates_ORCID_IDs_for_contributors.yml +40 -31
  142. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/schema/validates_data.yml +40 -48
  143. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/schema/validates_work_from_DataCite_staging_system.yml +104 -0
  144. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/schema/validates_work_type_data-set.yml +40 -45
  145. data/spec/fixtures/work.xml +12 -16
  146. data/spec/notification_spec.rb +11 -10
  147. data/spec/work_spec.rb +26 -63
  148. metadata +133 -30
  149. data/.travis.yml +0 -17
  150. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/contributors/multiple_titles.yml +0 -102
  151. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/schema/validates_work_from_DataCite_test_system.yml +0 -95
  152. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/user_example/fail/valid.yml +0 -95
@@ -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/qualification" xmlns:qualification="http://www.orcid.org/ns/qualification"
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
+ </xs:documentation>
29
+ <xs:appinfo>
30
+ <sch:title>Schematron validation</sch:title>
31
+ <sch:ns prefix="orcid" uri="http://www.orcid.org/ns/orcid" />
32
+ </xs:appinfo>
33
+ </xs:annotation>
34
+
35
+ <xs:import namespace="http://www.orcid.org/ns/common"
36
+ schemaLocation="../common_3.0/common-3.0.xsd" />
37
+
38
+ <xs:element name="qualification" type="common:affiliation">
39
+ <xs:annotation>
40
+ <xs:documentation>A qualification associated with the researcher or contributor.
41
+ Qualification is defined as Professional or vocational accreditation, certification or training undertaken by an individual. May be designated as in progress or unfinished.
42
+ * The put-code attribute is returned when reading this element.
43
+ When updating the item, the put-code attribute must be included to indicate the specific item to be updated.
44
+ </xs:documentation>
45
+ </xs:annotation>
46
+ </xs:element>
47
+
48
+ <xs:element name="qualification-summary" type="common:affiliation-summary" />
49
+
50
+ </xs:schema>
@@ -0,0 +1,91 @@
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:activities="http://www.orcid.org/ns/activities" xmlns:history="http://www.orcid.org/ns/history"
9
+ xmlns:record="http://www.orcid.org/ns/record" xmlns:preferences="http://www.orcid.org/ns/preferences"
10
+ xmlns:peer-review="http://www.orcid.org/ns/peer-review" xmlns:research-resource="http://www.orcid.org/ns/research-resource">
11
+ <xs:annotation>
12
+ <xs:documentation>
13
+ =============================================================================
14
+
15
+ ORCID (R) Open Source
16
+ http://orcid.org
17
+
18
+ Copyright (c) 2012-2018 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-3.0.xsd" />
43
+ <xs:import namespace="http://www.orcid.org/ns/person"
44
+ schemaLocation="person-3.0.xsd" />
45
+ <xs:import namespace="http://www.orcid.org/ns/common"
46
+ schemaLocation="../common_3.0/common-3.0.xsd" />
47
+ <xs:import namespace="http://www.orcid.org/ns/history"
48
+ schemaLocation="history-3.0.xsd" />
49
+ <xs:import namespace="http://www.orcid.org/ns/preferences"
50
+ schemaLocation="preferences-3.0.xsd" />
51
+ <xs:import namespace="http://www.orcid.org/ns/work"
52
+ schemaLocation="work-3.0.xsd" />
53
+ <xs:import namespace="http://www.orcid.org/ns/funding"
54
+ schemaLocation="funding-3.0.xsd" />
55
+ <xs:import namespace="http://www.orcid.org/ns/education"
56
+ schemaLocation="education-3.0.xsd" />
57
+ <xs:import namespace="http://www.orcid.org/ns/employment"
58
+ schemaLocation="employment-3.0.xsd" />
59
+ <xs:import namespace="http://www.orcid.org/ns/peer-review"
60
+ schemaLocation="peer-review-3.0.xsd" />
61
+
62
+ <xs:element name="record">
63
+ <xs:complexType>
64
+ <xs:annotation>
65
+ <xs:documentation>The container element for a researcher or
66
+ contributor ORCID Record.
67
+ * The type attribute can only be set by
68
+ ORCID, and indicates the type of ORCID Record the information
69
+ refers to. In most cases the value will be "user" to indicate an ORCID iD holder.
70
+ * The client type attribute is set by ORCID, and is
71
+ present when the type attribute is "group" or "client". This
72
+ attribute indicates the API privileges held by the group as
73
+ indicated by their ORCID Membership Agreement.
74
+ </xs:documentation>
75
+ </xs:annotation>
76
+ <xs:sequence>
77
+ <xs:element ref="common:orcid-identifier" minOccurs="0"
78
+ maxOccurs="1" />
79
+ <xs:element ref="preferences:preferences" minOccurs="0"
80
+ maxOccurs="1" />
81
+ <xs:element ref="history:history" minOccurs="0"
82
+ maxOccurs="1" />
83
+ <xs:element ref="person:person" minOccurs="0" maxOccurs="1" />
84
+ <xs:element ref="activities:activities-summary"
85
+ minOccurs="0" maxOccurs="1" />
86
+ </xs:sequence>
87
+ <xs:attribute name="path" type="common:element-path" use="optional" />
88
+ </xs:complexType>
89
+ </xs:element>
90
+
91
+ </xs:schema>
@@ -0,0 +1,144 @@
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/research-resource" xmlns:research-resource="http://www.orcid.org/ns/research-resource"
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="research-resource" uri="http://www.orcid.org/ns/research-resource" />
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="research-resource">
40
+ <xs:annotation>
41
+ <xs:documentation>research-resource utilized by the researcher.
42
+ * The put-code attribute is used only when reading this element. When
43
+ updating the item, the put-code attribut must be included to
44
+ indicate the specific record to be updated.
45
+ </xs:documentation>
46
+ </xs:annotation>
47
+ <xs:complexType>
48
+ <xs:complexContent>
49
+ <xs:extension base="common:element-summary">
50
+ <xs:sequence>
51
+ <xs:element name="proposal" type="research-resource:proposal" minOccurs="1" maxOccurs="1" />
52
+ <xs:element name="resource-items" type="research-resource:resource-items" minOccurs="1" maxOccurs="1" />
53
+ </xs:sequence>
54
+ </xs:extension>
55
+ </xs:complexContent>
56
+ </xs:complexType>
57
+ </xs:element>
58
+
59
+ <xs:element name="research-resource-summary">
60
+ <xs:complexType>
61
+ <xs:complexContent>
62
+ <xs:extension base="common:element-summary">
63
+ <xs:sequence>
64
+ <xs:element name="proposal" type="research-resource:proposal" minOccurs="1" maxOccurs="1" />
65
+ </xs:sequence>
66
+ </xs:extension>
67
+ </xs:complexContent>
68
+ </xs:complexType>
69
+ </xs:element>
70
+
71
+ <xs:complexType name="proposal">
72
+ <xs:annotation>
73
+ <xs:documentation>Container for proposal that led to access
74
+ </xs:documentation>
75
+ </xs:annotation>
76
+ <xs:sequence>
77
+ <xs:element name="title" type="research-resource:research-resource-title" minOccurs="1" />
78
+ <xs:element name="hosts" type="research-resource:hosts" minOccurs="1" maxOccurs="1" />
79
+ <xs:element ref="common:external-ids" minOccurs="1" maxOccurs="1"/>
80
+ <xs:element ref="common:start-date" minOccurs="0" maxOccurs="1"/>
81
+ <xs:element ref="common:end-date" minOccurs="0" maxOccurs="1"/>
82
+ <xs:element ref="common:url" minOccurs="0" maxOccurs="1" />
83
+ </xs:sequence>
84
+ </xs:complexType>
85
+
86
+ <xs:complexType name="resource-items">
87
+ <xs:annotation>
88
+ <xs:documentation>Container for resources
89
+ </xs:documentation>
90
+ </xs:annotation>
91
+ <xs:sequence>
92
+ <xs:element name="resource-item" type="research-resource:resource-item" minOccurs="1" maxOccurs="unbounded" />
93
+ </xs:sequence>
94
+ </xs:complexType>
95
+
96
+ <xs:complexType name="resource-item">
97
+ <xs:annotation>
98
+ <xs:documentation>Actual resources used
99
+ </xs:documentation>
100
+ </xs:annotation>
101
+ <xs:sequence>
102
+ <xs:element name="resource-name" type="common:string-1000" minOccurs="1" maxOccurs="1"/>
103
+ <xs:element name="resource-type" type="research-resource:resource-type" minOccurs="1" maxOccurs="1" />
104
+ <xs:element name="hosts" type="research-resource:hosts" minOccurs="1" maxOccurs="1" />
105
+ <xs:element ref="common:external-ids" minOccurs="1" maxOccurs="1"/>
106
+ <xs:element ref="common:url" minOccurs="0" maxOccurs="1" />
107
+ </xs:sequence>
108
+ </xs:complexType>
109
+
110
+ <xs:complexType name="hosts">
111
+ <xs:annotation>
112
+ <xs:documentation>Container for host and proposal organisations
113
+ </xs:documentation>
114
+ </xs:annotation>
115
+ <xs:sequence>
116
+ <xs:element ref="common:organization" minOccurs="1" maxOccurs="10"/>
117
+ </xs:sequence>
118
+ </xs:complexType>
119
+
120
+ <xs:simpleType name="resource-type">
121
+ <xs:annotation>
122
+ <xs:documentation>The type of research resource, selected from the following options:
123
+ * collections: An object or group of objects used for research purposes; can be tangible or digital. Examples include ocean mission, field campaign, data sets, rare book collections, museum collections, biological specimen collections
124
+ * equipment: Hardware used for research purposes. Examples include microscopes, telescopes, computers, glassware, samples, materials
125
+ * infrastructures: A facility, building, or other physical space used to perform research. Examples incldue a neutron spallation source, animal facility, data enclave, archaeological site, telescope array, ship, plane, farm, laboratory
126
+ * services: Services used for research purposes. Examples include data analysis, computing services, logistical support, legal services, copyediting, expert or staff advisement.
127
+ ORCID will validate this value against the enumeration
128
+ https://github.com/ORCID/orcid-model/blob/master/src/main/java/org/orcid/jaxb/model/common/ResourceType.java and other rules when necessary
129
+ </xs:documentation>
130
+ </xs:annotation>
131
+ <xs:restriction base="xs:string" />
132
+ </xs:simpleType>
133
+
134
+ <xs:complexType name="research-resource-title">
135
+ <xs:annotation>
136
+ <xs:documentation>Container for titles of the proposal or resource-item.
137
+ </xs:documentation>
138
+ </xs:annotation>
139
+ <xs:sequence>
140
+ <xs:element ref="common:title"/>
141
+ <xs:element ref="common:translated-title" minOccurs="0" />
142
+ </xs:sequence>
143
+ </xs:complexType>
144
+ </xs:schema>
@@ -0,0 +1,86 @@
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/researcher-url"
5
+ xmlns:researcher-url="http://www.orcid.org/ns/researcher-url"
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-2018 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="researcher-url" uri="http://www.orcid.org/ns/researcher-url" />
33
+ </xs:appinfo>
34
+ </xs:annotation>
35
+ <xs:import namespace="http://www.orcid.org/ns/common"
36
+ schemaLocation="../common_3.0/common-3.0.xsd" />
37
+ <xs:element name="researcher-urls">
38
+ <xs:complexType>
39
+ <xs:annotation>
40
+ <xs:documentation>Container for URLs of websites about or related to the researcher.
41
+ </xs:documentation>
42
+ </xs:annotation>
43
+ <xs:sequence>
44
+ <xs:element ref="common:last-modified-date" minOccurs="0" maxOccurs="1" />
45
+ <xs:element name="researcher-url" type="researcher-url:researcher-url"
46
+ minOccurs="0" 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="researcher-url">
53
+ <xs:annotation>
54
+ <xs:documentation>The display name and URL for one of the researcher's sites.
55
+ </xs:documentation>
56
+ </xs:annotation>
57
+ <xs:complexType>
58
+ <xs:complexContent>
59
+ <xs:extension base="researcher-url:researcher-url"></xs:extension>
60
+ </xs:complexContent>
61
+ </xs:complexType>
62
+ </xs:element>
63
+
64
+ <xs:complexType name="researcher-url">
65
+ <xs:complexContent>
66
+ <xs:extension base="common:element-summary">
67
+ <xs:sequence>
68
+ <xs:element minOccurs="0" maxOccurs="1" name="url-name"
69
+ type="common:string-350">
70
+ <xs:annotation>
71
+ <xs:documentation>A short display name describing the URL. Max length is 355 characters.
72
+ </xs:documentation>
73
+ </xs:annotation>
74
+ </xs:element>
75
+ <xs:element name="url" type="common:url" minOccurs="1"
76
+ maxOccurs="1">
77
+ <xs:annotation>
78
+ <xs:documentation>The URL (including http:// or https://). Max length is 2000 characters.
79
+ </xs:documentation>
80
+ </xs:annotation>
81
+ </xs:element>
82
+ </xs:sequence>
83
+ </xs:extension>
84
+ </xs:complexContent>
85
+ </xs:complexType>
86
+ </xs:schema>