bolognese 1.2.20 → 1.3.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (42) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +2 -2
  3. data/bolognese.gemspec +1 -1
  4. data/lib/bolognese/author_utils.rb +26 -3
  5. data/lib/bolognese/datacite_utils.rb +2 -1
  6. data/lib/bolognese/readers/crossref_reader.rb +1 -1
  7. data/lib/bolognese/readers/datacite_reader.rb +5 -1
  8. data/lib/bolognese/utils.rb +28 -2
  9. data/lib/bolognese/version.rb +1 -1
  10. data/resources/datacite-contributorType-v4.xsd +35 -0
  11. data/resources/datacite-dateType-v4.xsd +25 -0
  12. data/resources/datacite-descriptionType-v4.xsd +19 -0
  13. data/resources/datacite-funderIdentifierType-v4.xsd +15 -0
  14. data/resources/datacite-nameType-v4.xsd +10 -0
  15. data/resources/datacite-relatedIdentifierType-v4.xsd +34 -0
  16. data/resources/datacite-relationType-v4.xsd +49 -0
  17. data/resources/datacite-resourceType-v4.xsd +28 -0
  18. data/resources/datacite-titleType-v4.xsd +14 -0
  19. data/resources/kernel-4.3/include/datacite-contributorType-v4.xsd +35 -0
  20. data/resources/kernel-4.3/include/datacite-dateType-v4.xsd +25 -0
  21. data/resources/kernel-4.3/include/datacite-descriptionType-v4.xsd +19 -0
  22. data/resources/kernel-4.3/include/datacite-funderIdentifierType-v4.xsd +16 -0
  23. data/resources/kernel-4.3/include/datacite-nameType-v4.xsd +10 -0
  24. data/resources/kernel-4.3/include/datacite-relatedIdentifierType-v4.xsd +34 -0
  25. data/resources/kernel-4.3/include/datacite-relationType-v4.xsd +49 -0
  26. data/resources/kernel-4.3/include/datacite-resourceType-v4.xsd +28 -0
  27. data/resources/kernel-4.3/include/datacite-titleType-v4.xsd +14 -0
  28. data/resources/kernel-4.3/include/xml.xsd +286 -0
  29. data/resources/kernel-4.3/metadata.xsd +484 -0
  30. data/resources/kernel-4/include/datacite-funderIdentifierType-v4.xsd +1 -0
  31. data/resources/kernel-4/metadata.xsd +38 -8
  32. data/resources/xml.xsd +286 -0
  33. data/spec/author_utils_spec.rb +2 -2
  34. data/spec/fixtures/datacite-example-affiliation.xml +114 -0
  35. data/spec/readers/codemeta_reader_spec.rb +4 -4
  36. data/spec/readers/crossref_reader_spec.rb +5 -5
  37. data/spec/readers/datacite_reader_spec.rb +95 -27
  38. data/spec/readers/schema_org_reader_spec.rb +3 -3
  39. data/spec/writers/crosscite_writer_spec.rb +2 -2
  40. data/spec/writers/datacite_json_writer_spec.rb +3 -3
  41. data/spec/writers/datacite_writer_spec.rb +1 -1
  42. metadata +26 -10
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: '089ff55ba23a38642bcce0d24a91d2dd0b82d01633f86a95a114bcc65a7b5d18'
4
- data.tar.gz: 198d86ecee8b25ff8261cc6d0275294efb71faf507cf38fcfcdfa7a792886235
3
+ metadata.gz: a06ebcc4b7742d4744a921cdb6aceb159b37fe5a762326972a5028b4552961a5
4
+ data.tar.gz: 87daf32a007fe59560b8f0a7ad6b73474d15d518e24fed559615c8068a29e78a
5
5
  SHA512:
6
- metadata.gz: 3500ff5752f24ab00c55e05e57e976a9221ab4515e9198bffb1f48868fcf38b372af4739aa8d7e184526d80ce045b5a4b3d4aacdf339cf99e4f497f2bf8bf07f
7
- data.tar.gz: 46fe1859e10f14120629bccd2b4e5ef4482a2adebb760445ce2cf8d24eb9cbc311c2e70abdf669302e8da7ac0d65c6dd011f8ba0222e5211e0dd7c25f5a4bb49
6
+ metadata.gz: 80ad70e2675f7591794f8baa040f27b07cfa314a65e04d1921c07cdfad73ff9966f3f9bb88398600e8e9a40cec0eaf5bea56de37c9ae50301bebeb20f7749cda
7
+ data.tar.gz: 5b9f862c651e4fdab2e4cb0e2fdc384c5d3cb2754ee37390e70acd4a32e2e017096d47f57fd6035012b15238372519fa6546e59e3c356b10feaea85620d1ba42
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- bolognese (1.2.20)
4
+ bolognese (1.3.1)
5
5
  activesupport (>= 4.2.5, < 6)
6
6
  benchmark_methods (~> 0.7)
7
7
  bibtex-ruby (~> 4.1)
@@ -13,7 +13,7 @@ PATH
13
13
  edtf (~> 3.0, >= 3.0.4)
14
14
  gender_detector (~> 0.1.2)
15
15
  iso8601 (~> 0.9.1)
16
- json-ld-preloaded (~> 3.0, >= 3.0.2)
16
+ json-ld-preloaded (= 3.0.2)
17
17
  jsonlint (~> 0.2.0)
18
18
  loofah (~> 2.0, >= 2.0.3)
19
19
  maremma (>= 3.5.7, < 5)
@@ -30,7 +30,7 @@ Gem::Specification.new do |s|
30
30
  s.add_dependency 'csl-styles', '~> 1.0', '>= 1.0.1.8'
31
31
  s.add_dependency 'iso8601', '~> 0.9.1'
32
32
  s.add_dependency 'postrank-uri', '~> 1.0', '>= 1.0.18'
33
- s.add_dependency 'json-ld-preloaded', '~> 3.0', '>= 3.0.2'
33
+ s.add_dependency 'json-ld-preloaded', '= 3.0.2'
34
34
  s.add_dependency 'jsonlint', '~> 0.2.0'
35
35
  s.add_dependency 'oj', '>= 2.8.3'
36
36
  s.add_dependency 'rdf-turtle', '~> 2.2'
@@ -51,7 +51,7 @@ module Bolognese
51
51
  "givenName" => given_name,
52
52
  "familyName" => family_name,
53
53
  "nameIdentifiers" => name_identifiers,
54
- "affiliation" => parse_attributes(author.fetch("affiliation", nil)),
54
+ "affiliation" => get_affiliations(author.fetch("affiliation", nil)),
55
55
  "contributorType" => contributor_type }.compact
56
56
 
57
57
  return author if family_name.present?
@@ -74,10 +74,14 @@ module Bolognese
74
74
  "givenName" => given_name,
75
75
  "familyName" => family_name,
76
76
  "nameIdentifiers" => name_identifiers,
77
- "affiliation" => parse_attributes(author.fetch("affiliation", nil)),
77
+ "affiliation" => author.fetch("affiliation", nil),
78
78
  "contributorType" => contributor_type }.compact
79
79
  else
80
- { "nameType" => name_type, "name" => name }.compact
80
+ { "nameType" => name_type,
81
+ "name" => name,
82
+ "nameIdentifiers" => name_identifiers,
83
+ "affiliation" => author.fetch("affiliation", nil),
84
+ "contributorType" => contributor_type }.compact
81
85
  end
82
86
  end
83
87
 
@@ -128,5 +132,24 @@ module Bolognese
128
132
  end
129
133
  end.join(" and ").presence
130
134
  end
135
+
136
+ def get_affiliations(affiliations)
137
+ Array.wrap(affiliations).map do |a|
138
+ if a.is_a?(String)
139
+ id = nil
140
+ name = a.squish
141
+ affiliation_identifier_scheme = nil
142
+ else
143
+ id = a["affiliationIdentifier"]
144
+ id = !id.to_s.start_with?("https://") && a["schemeURI"].present? ? normalize_id(a["schemeURI"] + id) : normalize_id(id)
145
+ name = a["__content__"].squish
146
+ affiliation_identifier_scheme = a["affiliationIdentifierScheme"]
147
+ end
148
+
149
+ { "id" => id,
150
+ "name" => name,
151
+ "affiliationIdentifierScheme" => affiliation_identifier_scheme }.compact
152
+ end.presence
153
+ end
131
154
  end
132
155
  end
@@ -76,7 +76,8 @@ module Bolognese
76
76
  xml.nameIdentifier(ni["nameIdentifier"], 'nameIdentifierScheme' => ni["nameIdentifierScheme"], 'schemeURI' => ni["schemeUri"])
77
77
  end
78
78
  Array.wrap(person["affiliation"]).each do |affiliation|
79
- xml.affiliation(affiliation)
79
+ attributes = { "affiliationIdentifierScheme" => affiliation["affiliationIdentifierScheme"], "schemeURI" => affiliation["schemeUri"] }.compact
80
+ xml.affiliation(affiliation["name"], attributes)
80
81
  end
81
82
  end
82
83
 
@@ -218,7 +218,7 @@ module Bolognese
218
218
  "name" => [a["surname"], a["given_name"]].join(", "),
219
219
  "givenName" => a["given_name"],
220
220
  "familyName" => a["surname"],
221
- "affiliation" => a["affiliation"],
221
+ "affiliation" => Array.wrap(a["affiliation"]).map { |a| { "name" => a }}.presence,
222
222
  "contributorType" => contributor_role == "editor" ? "Editor" : nil }.compact
223
223
  else
224
224
  { "nameType" => "Organizational",
@@ -142,9 +142,13 @@ module Bolognese
142
142
  sizes = Array.wrap(meta.dig("sizes", "size"))
143
143
  formats = Array.wrap(meta.dig("formats", "format"))
144
144
  funding_references = Array.wrap(meta.dig("fundingReferences", "fundingReference")).compact.map do |fr|
145
+ scheme_uri = parse_attributes(fr["funderIdentifier"], content: "schemeURI")
146
+ funder_identifier = parse_attributes(fr["funderIdentifier"])
147
+ funder_identifier = !funder_identifier.to_s.start_with?("https://") && scheme_uri.present? ? normalize_id(scheme_uri + funder_identifier) : normalize_id(funder_identifier)
148
+
145
149
  {
146
150
  "funderName" => fr["funderName"],
147
- "funderIdentifier" => normalize_id(parse_attributes(fr["funderIdentifier"])),
151
+ "funderIdentifier" => funder_identifier,
148
152
  "funderIdentifierType" => parse_attributes(fr["funderIdentifier"], content: "funderIdentifierType"),
149
153
  "awardNumber" => parse_attributes(fr["awardNumber"]),
150
154
  "awardUri" => parse_attributes(fr["awardNumber"], content: "awardURI"),
@@ -576,7 +576,20 @@ module Bolognese
576
576
 
577
577
  def to_schema_org_creators(element)
578
578
  element = Array.wrap(element).map do |c|
579
- c["affiliation"] = { "@type" => "Organization", "name" => Array.wrap(c["affiliation"]).first } if c["affiliation"].present?
579
+ c["affiliation"] = Array.wrap(c["affiliation"]).map do |a|
580
+ if a.is_a?(String)
581
+ name = a
582
+ id = nil
583
+ else
584
+ name = a["name"]
585
+ id = a["id"]
586
+ end
587
+
588
+ {
589
+ "@type" => "Organization",
590
+ "@id" => id,
591
+ "name" => name }.compact
592
+ end.unwrap
580
593
  c["@type"] = c["nameType"].present? ? c["nameType"][0..-3] : nil
581
594
  c["@id"] = Array.wrap(c["nameIdentifiers"]).first.to_h.fetch("nameIdentifier", nil)
582
595
  c["name"] = c["familyName"].present? ? [c["givenName"], c["familyName"]].join(" ") : c["name"]
@@ -586,7 +599,20 @@ module Bolognese
586
599
 
587
600
  def to_schema_org_contributors(element)
588
601
  element = Array.wrap(element).map do |c|
589
- c["affiliation"] = { "@type" => "Organization", "name" => Array.wrap(c["affiliation"]).first } if c["affiliation"].present?
602
+ c["affiliation"] = Array.wrap(c["affiliation"]).map do |a|
603
+ if a.is_a?(String)
604
+ name = a
605
+ id = nil
606
+ else
607
+ name = a["name"]
608
+ id = a["id"]
609
+ end
610
+
611
+ {
612
+ "@type" => "Organization",
613
+ "@id" => id,
614
+ "name" => name }.compact
615
+ end.unwrap
590
616
  c["@type"] = c["nameType"].present? ? c["nameType"][0..-3] : nil
591
617
  c["@id"] = Array.wrap(c["nameIdentifiers"]).first.to_h.fetch("nameIdentifier", nil)
592
618
  c["name"] = c["familyName"].present? ? [c["givenName"], c["familyName"]].join(" ") : c["name"]
@@ -1,3 +1,3 @@
1
1
  module Bolognese
2
- VERSION = "1.2.20"
2
+ VERSION = "1.3.1"
3
3
  end
@@ -0,0 +1,35 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!-- Version 1.0 - Created 2011-01-13 - FZ, TIB, Germany
3
+ 2013-05 v3.0: Addition of ID to simpleType element, added values "ResearchGroup" & "Other"
4
+ 2014-08-20 v3.1: Addition of value "DataCurator"
5
+ 2015-05-14 v4.0 dropped value "Funder", use new "funderReference" -->
6
+ <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://datacite.org/schema/kernel-4" targetNamespace="http://datacite.org/schema/kernel-4" elementFormDefault="qualified">
7
+ <xs:simpleType name="contributorType" id="contributorType">
8
+ <xs:annotation>
9
+ <xs:documentation>The type of contributor of the resource.</xs:documentation>
10
+ </xs:annotation>
11
+ <xs:restriction base="xs:string">
12
+ <xs:enumeration value="ContactPerson"/>
13
+ <xs:enumeration value="DataCollector"/>
14
+ <xs:enumeration value="DataCurator"/>
15
+ <xs:enumeration value="DataManager"/>
16
+ <xs:enumeration value="Distributor"/>
17
+ <xs:enumeration value="Editor"/>
18
+ <xs:enumeration value="HostingInstitution"/>
19
+ <xs:enumeration value="Other"/>
20
+ <xs:enumeration value="Producer"/>
21
+ <xs:enumeration value="ProjectLeader"/>
22
+ <xs:enumeration value="ProjectManager"/>
23
+ <xs:enumeration value="ProjectMember"/>
24
+ <xs:enumeration value="RegistrationAgency"/>
25
+ <xs:enumeration value="RegistrationAuthority"/>
26
+ <xs:enumeration value="RelatedPerson"/>
27
+ <xs:enumeration value="ResearchGroup"/>
28
+ <xs:enumeration value="RightsHolder"/>
29
+ <xs:enumeration value="Researcher"/>
30
+ <xs:enumeration value="Sponsor"/>
31
+ <xs:enumeration value="Supervisor"/>
32
+ <xs:enumeration value="WorkPackageLeader"/>
33
+ </xs:restriction>
34
+ </xs:simpleType>
35
+ </xs:schema>
@@ -0,0 +1,25 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!-- Version 1.0 - Created 2011-01-13 - FZ, TIB, Germany
3
+ 2013-05 v3.0: Addition of ID to simpleType element; addition of value "Collected"; deleted "StartDate" & "EndDate"
4
+ 2017-10-23 v4.1: Addition of value "Other"
5
+ 2019-02-14 v4.2: Addition of value "Withdrawn"-->
6
+ <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://datacite.org/schema/kernel-4" targetNamespace="http://datacite.org/schema/kernel-4" elementFormDefault="qualified">
7
+ <xs:simpleType name="dateType" id="dateType">
8
+ <xs:annotation>
9
+ <xs:documentation>The type of date. Use RKMS‐ISO8601 standard for depicting date ranges.To indicate the end of an embargo period, use Available. To indicate the start of an embargo period, use Submitted or Accepted, as appropriate.</xs:documentation>
10
+ </xs:annotation>
11
+ <xs:restriction base="xs:string">
12
+ <xs:enumeration value="Accepted"/>
13
+ <xs:enumeration value="Available"/>
14
+ <xs:enumeration value="Collected"/>
15
+ <xs:enumeration value="Copyrighted"/>
16
+ <xs:enumeration value="Created"/>
17
+ <xs:enumeration value="Issued"/>
18
+ <xs:enumeration value="Other"/>
19
+ <xs:enumeration value="Submitted"/>
20
+ <xs:enumeration value="Updated"/>
21
+ <xs:enumeration value="Valid"/>
22
+ <xs:enumeration value="Withdrawn"/>
23
+ </xs:restriction>
24
+ </xs:simpleType>
25
+ </xs:schema>
@@ -0,0 +1,19 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!-- Version 1.0 - Created 2011-01-13 - FZ, TIB, Germany
3
+ 2013-05 v3.0: Addition of ID to simpleType element, addition of value "Methods"
4
+ 2015-02-12 v4.0: Addition of value "TechnicalInfo"-->
5
+ <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://datacite.org/schema/kernel-4" targetNamespace="http://datacite.org/schema/kernel-4" elementFormDefault="qualified">
6
+ <xs:simpleType name="descriptionType" id="descriptionType">
7
+ <xs:annotation>
8
+ <xs:documentation>The type of the description.</xs:documentation>
9
+ </xs:annotation>
10
+ <xs:restriction base="xs:string">
11
+ <xs:enumeration value="Abstract"/>
12
+ <xs:enumeration value="Methods"/>
13
+ <xs:enumeration value="SeriesInformation"/>
14
+ <xs:enumeration value="TableOfContents"/>
15
+ <xs:enumeration value="TechnicalInfo"/>
16
+ <xs:enumeration value="Other"/>
17
+ </xs:restriction>
18
+ </xs:simpleType>
19
+ </xs:schema>
@@ -0,0 +1,15 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!-- Version 1.0 - Created 2016-05-14 -->
3
+ <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://datacite.org/schema/kernel-4" targetNamespace="http://datacite.org/schema/kernel-4" elementFormDefault="qualified">
4
+ <xs:simpleType name="funderIdentifierType" id="funderIdentifierType">
5
+ <xs:annotation>
6
+ <xs:documentation>The type of the funderIdentifier.</xs:documentation>
7
+ </xs:annotation>
8
+ <xs:restriction base="xs:string">
9
+ <xs:enumeration value="ISNI"/>
10
+ <xs:enumeration value="GRID"/>
11
+ <xs:enumeration value="Crossref Funder ID"/>
12
+ <xs:enumeration value="Other"/>
13
+ </xs:restriction>
14
+ </xs:simpleType>
15
+ </xs:schema>
@@ -0,0 +1,10 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!-- Version 4.1 - Created 2017-10-23 -->
3
+ <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://datacite.org/schema/kernel-4" targetNamespace="http://datacite.org/schema/kernel-4" elementFormDefault="qualified">
4
+ <xs:simpleType name="nameType" id="nameType">
5
+ <xs:restriction base="xs:string">
6
+ <xs:enumeration value="Organizational"/>
7
+ <xs:enumeration value="Personal"/>
8
+ </xs:restriction>
9
+ </xs:simpleType>
10
+ </xs:schema>
@@ -0,0 +1,34 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!-- Version 1.0 - Created 2011-01-13 - FZ, TIB, Germany
3
+ 2013-05 v3.0: Addition of ID to simpleType element; addition of value "PMID"
4
+ 2014-08-20 v3.1: Addition of values "arxiv" and "bibcode"
5
+ 2015-02-12 v4.0 Addition of value "IGSN"
6
+ 2019-02-14 v4.2 Addition of value "w3id" -->
7
+ <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://datacite.org/schema/kernel-4" targetNamespace="http://datacite.org/schema/kernel-4" elementFormDefault="qualified">
8
+ <xs:simpleType name="relatedIdentifierType" id="relatedIdentifierType">
9
+ <xs:annotation>
10
+ <xs:documentation>The type of the RelatedIdentifier.</xs:documentation>
11
+ </xs:annotation>
12
+ <xs:restriction base="xs:string">
13
+ <xs:enumeration value="ARK"/>
14
+ <xs:enumeration value="arXiv"/>
15
+ <xs:enumeration value="bibcode"/>
16
+ <xs:enumeration value="DOI"/>
17
+ <xs:enumeration value="EAN13"/>
18
+ <xs:enumeration value="EISSN"/>
19
+ <xs:enumeration value="Handle"/>
20
+ <xs:enumeration value="IGSN"/>
21
+ <xs:enumeration value="ISBN"/>
22
+ <xs:enumeration value="ISSN"/>
23
+ <xs:enumeration value="ISTC"/>
24
+ <xs:enumeration value="LISSN"/>
25
+ <xs:enumeration value="LSID"/>
26
+ <xs:enumeration value="PMID"/>
27
+ <xs:enumeration value="PURL"/>
28
+ <xs:enumeration value="UPC"/>
29
+ <xs:enumeration value="URL"/>
30
+ <xs:enumeration value="URN"/>
31
+ <xs:enumeration value="w3id"/>
32
+ </xs:restriction>
33
+ </xs:simpleType>
34
+ </xs:schema>
@@ -0,0 +1,49 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!--
3
+ 2011-01-13 v1.0 - FZ, TIB, Germany
4
+ 2013-05 v3.0: Addition of ID to simpleType element, addition of values "IsIdenticalTo", "HasMetadata" & "IsMetadataFor"
5
+ 2014-08-20 v3.1: Addition of values "Reviews" & "IsReviewedBy" and "IsDerivedFrom" & "IsSourceOf"
6
+ 2017-10-23 v.4.1: Addition of values "Describes", "IsDescribedBy", "HasVersion", "IsVersionOf", "Requires", "IsRequiredBy"
7
+ 2019-02-14 v.4.2: Addition of values "Obsoletes", "IsObsoletedBy" -->
8
+ <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://datacite.org/schema/kernel-4" targetNamespace="http://datacite.org/schema/kernel-4" elementFormDefault="qualified">
9
+ <xs:simpleType name="relationType" id="relationType">
10
+ <xs:annotation>
11
+ <xs:documentation>Description of the relationship of the resource being registered (A) and the related resource (B).</xs:documentation>
12
+ </xs:annotation>
13
+ <xs:restriction base="xs:string">
14
+ <xs:enumeration value="IsCitedBy"/>
15
+ <xs:enumeration value="Cites"/>
16
+ <xs:enumeration value="IsSupplementTo"/>
17
+ <xs:enumeration value="IsSupplementedBy"/>
18
+ <xs:enumeration value="IsContinuedBy"/>
19
+ <xs:enumeration value="Continues"/>
20
+ <xs:enumeration value="IsNewVersionOf"/>
21
+ <xs:enumeration value="IsPreviousVersionOf"/>
22
+ <xs:enumeration value="IsPartOf"/>
23
+ <xs:enumeration value="HasPart"/>
24
+ <xs:enumeration value="IsReferencedBy"/>
25
+ <xs:enumeration value="References"/>
26
+ <xs:enumeration value="IsDocumentedBy"/>
27
+ <xs:enumeration value="Documents"/>
28
+ <xs:enumeration value="IsCompiledBy"/>
29
+ <xs:enumeration value="Compiles"/>
30
+ <xs:enumeration value="IsVariantFormOf"/>
31
+ <xs:enumeration value="IsOriginalFormOf"/>
32
+ <xs:enumeration value="IsIdenticalTo"/>
33
+ <xs:enumeration value="HasMetadata"/>
34
+ <xs:enumeration value="IsMetadataFor"/>
35
+ <xs:enumeration value="Reviews"/>
36
+ <xs:enumeration value="IsReviewedBy"/>
37
+ <xs:enumeration value="IsDerivedFrom"/>
38
+ <xs:enumeration value="IsSourceOf"/>
39
+ <xs:enumeration value="Describes"/>
40
+ <xs:enumeration value="IsDescribedBy"/>
41
+ <xs:enumeration value="HasVersion"/>
42
+ <xs:enumeration value="IsVersionOf"/>
43
+ <xs:enumeration value="Requires"/>
44
+ <xs:enumeration value="IsRequiredBy"/>
45
+ <xs:enumeration value="Obsoletes"/>
46
+ <xs:enumeration value="IsObsoletedBy"/>
47
+ </xs:restriction>
48
+ </xs:simpleType>
49
+ </xs:schema>
@@ -0,0 +1,28 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!-- Version 1.0 - Created 2011-01-13 - FZ, TIB, Germany
3
+ 2013-05 v3.0: Addition of ID to simpleType element; added values "Audiovisual", "Workflow" & "Other"; deleted value "Film"
4
+ 2017-10-23 v4.1: Addition of value "DataPaper" -->
5
+ <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://datacite.org/schema/kernel-4" targetNamespace="http://datacite.org/schema/kernel-4" elementFormDefault="qualified">
6
+ <xs:simpleType name="resourceType" id="resourceType">
7
+ <xs:annotation>
8
+ <xs:documentation>The general type of a resource.</xs:documentation>
9
+ </xs:annotation>
10
+ <xs:restriction base="xs:string">
11
+ <xs:enumeration value="Audiovisual"/>
12
+ <xs:enumeration value="Collection"/>
13
+ <xs:enumeration value="DataPaper"/>
14
+ <xs:enumeration value="Dataset"/>
15
+ <xs:enumeration value="Event"/>
16
+ <xs:enumeration value="Image"/>
17
+ <xs:enumeration value="InteractiveResource"/>
18
+ <xs:enumeration value="Model"/>
19
+ <xs:enumeration value="PhysicalObject"/>
20
+ <xs:enumeration value="Service"/>
21
+ <xs:enumeration value="Software"/>
22
+ <xs:enumeration value="Sound"/>
23
+ <xs:enumeration value="Text"/>
24
+ <xs:enumeration value="Workflow"/>
25
+ <xs:enumeration value="Other"/>
26
+ </xs:restriction>
27
+ </xs:simpleType>
28
+ </xs:schema>
@@ -0,0 +1,14 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!-- Version 1.0 - Created 2011-01-13 - FZ, TIB, Germany
3
+ 2013-05 v3.0: Addition of ID to simpleType element
4
+ 2015-02-12 v4.0 Added value "Other" -->
5
+ <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://datacite.org/schema/kernel-4" targetNamespace="http://datacite.org/schema/kernel-4" elementFormDefault="qualified">
6
+ <xs:simpleType name="titleType" id="titleType">
7
+ <xs:restriction base="xs:string">
8
+ <xs:enumeration value="AlternativeTitle"/>
9
+ <xs:enumeration value="Subtitle"/>
10
+ <xs:enumeration value="TranslatedTitle"/>
11
+ <xs:enumeration value="Other"/>
12
+ </xs:restriction>
13
+ </xs:simpleType>
14
+ </xs:schema>
@@ -0,0 +1,35 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!-- Version 1.0 - Created 2011-01-13 - FZ, TIB, Germany
3
+ 2013-05 v3.0: Addition of ID to simpleType element, added values "ResearchGroup" & "Other"
4
+ 2014-08-20 v3.1: Addition of value "DataCurator"
5
+ 2015-05-14 v4.0 dropped value "Funder", use new "funderReference" -->
6
+ <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://datacite.org/schema/kernel-4" targetNamespace="http://datacite.org/schema/kernel-4" elementFormDefault="qualified">
7
+ <xs:simpleType name="contributorType" id="contributorType">
8
+ <xs:annotation>
9
+ <xs:documentation>The type of contributor of the resource.</xs:documentation>
10
+ </xs:annotation>
11
+ <xs:restriction base="xs:string">
12
+ <xs:enumeration value="ContactPerson"/>
13
+ <xs:enumeration value="DataCollector"/>
14
+ <xs:enumeration value="DataCurator"/>
15
+ <xs:enumeration value="DataManager"/>
16
+ <xs:enumeration value="Distributor"/>
17
+ <xs:enumeration value="Editor"/>
18
+ <xs:enumeration value="HostingInstitution"/>
19
+ <xs:enumeration value="Other"/>
20
+ <xs:enumeration value="Producer"/>
21
+ <xs:enumeration value="ProjectLeader"/>
22
+ <xs:enumeration value="ProjectManager"/>
23
+ <xs:enumeration value="ProjectMember"/>
24
+ <xs:enumeration value="RegistrationAgency"/>
25
+ <xs:enumeration value="RegistrationAuthority"/>
26
+ <xs:enumeration value="RelatedPerson"/>
27
+ <xs:enumeration value="ResearchGroup"/>
28
+ <xs:enumeration value="RightsHolder"/>
29
+ <xs:enumeration value="Researcher"/>
30
+ <xs:enumeration value="Sponsor"/>
31
+ <xs:enumeration value="Supervisor"/>
32
+ <xs:enumeration value="WorkPackageLeader"/>
33
+ </xs:restriction>
34
+ </xs:simpleType>
35
+ </xs:schema>