bolognese 1.8.18 → 1.9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (55) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/changelog.yml +36 -0
  3. data/CHANGELOG.md +1708 -0
  4. data/Gemfile.lock +46 -44
  5. data/lib/bolognese/author_utils.rb +6 -5
  6. data/lib/bolognese/datacite_utils.rb +69 -3
  7. data/lib/bolognese/metadata.rb +10 -5
  8. data/lib/bolognese/metadata_utils.rb +3 -2
  9. data/lib/bolognese/readers/bibtex_reader.rb +5 -4
  10. data/lib/bolognese/readers/citeproc_reader.rb +1 -1
  11. data/lib/bolognese/readers/crossref_reader.rb +3 -3
  12. data/lib/bolognese/readers/datacite_reader.rb +57 -11
  13. data/lib/bolognese/readers/ris_reader.rb +3 -3
  14. data/lib/bolognese/utils.rb +163 -46
  15. data/lib/bolognese/version.rb +1 -1
  16. data/resources/kernel-4.4/include/datacite-contributorType-v4.xsd +35 -0
  17. data/resources/kernel-4.4/include/datacite-dateType-v4.xsd +25 -0
  18. data/resources/kernel-4.4/include/datacite-descriptionType-v4.xsd +19 -0
  19. data/resources/kernel-4.4/include/datacite-funderIdentifierType-v4.xsd +16 -0
  20. data/resources/kernel-4.4/include/datacite-nameType-v4.xsd +10 -0
  21. data/resources/kernel-4.4/include/datacite-numberType-v4.xsd +12 -0
  22. data/resources/kernel-4.4/include/datacite-relatedIdentifierType-v4.xsd +34 -0
  23. data/resources/kernel-4.4/include/datacite-relationType-v4.xsd +51 -0
  24. data/resources/kernel-4.4/include/datacite-resourceType-v4.xsd +43 -0
  25. data/resources/kernel-4.4/include/datacite-titleType-v4.xsd +14 -0
  26. data/resources/kernel-4.4/include/xml.xsd +286 -0
  27. data/resources/kernel-4.4/metadata.xsd +707 -0
  28. data/resources/kernel-4/include/datacite-contributorType-v4.xsd +21 -21
  29. data/resources/kernel-4/include/datacite-dateType-v4.xsd +11 -11
  30. data/resources/kernel-4/include/datacite-descriptionType-v4.xsd +6 -6
  31. data/resources/kernel-4/include/datacite-funderIdentifierType-v4.xsd +5 -5
  32. data/resources/kernel-4/include/datacite-nameType-v4.xsd +2 -2
  33. data/resources/kernel-4/include/datacite-numberType-v4.xsd +12 -0
  34. data/resources/kernel-4/include/datacite-relatedIdentifierType-v4.xsd +19 -19
  35. data/resources/kernel-4/include/datacite-relationType-v4.xsd +36 -34
  36. data/resources/kernel-4/include/datacite-resourceType-v4.xsd +32 -17
  37. data/resources/kernel-4/include/datacite-titleType-v4.xsd +4 -4
  38. data/resources/kernel-4/metadata.xsd +297 -105
  39. data/spec/fixtures/datacite-example-dissertation-v4.4.xml +56 -0
  40. data/spec/fixtures/datacite-example-full-v4.4.xml +114 -0
  41. data/spec/fixtures/datacite-example-relateditems.xml +61 -0
  42. data/spec/fixtures/datacite-example-xs-string.xml +28 -0
  43. data/spec/fixtures/datacite-geolocationpolygons-multiple.xml +56 -0
  44. data/spec/metadata_spec.rb +1 -1
  45. data/spec/readers/bibtex_reader_spec.rb +2 -2
  46. data/spec/readers/crossref_reader_spec.rb +37 -37
  47. data/spec/readers/datacite_json_reader_spec.rb +1 -1
  48. data/spec/readers/datacite_reader_spec.rb +255 -4
  49. data/spec/readers/ris_reader_spec.rb +3 -3
  50. data/spec/writers/crosscite_writer_spec.rb +3 -3
  51. data/spec/writers/csv_writer_spec.rb +4 -4
  52. data/spec/writers/datacite_json_writer_spec.rb +3 -3
  53. data/spec/writers/datacite_writer_spec.rb +4 -4
  54. data/spec/writers/schema_org_writer_spec.rb +3 -3
  55. metadata +22 -2
@@ -9,27 +9,27 @@
9
9
  <xs:documentation>The type of contributor of the resource.</xs:documentation>
10
10
  </xs:annotation>
11
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"/>
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
33
  </xs:restriction>
34
34
  </xs:simpleType>
35
35
  </xs:schema>
@@ -9,17 +9,17 @@
9
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
10
  </xs:annotation>
11
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"/>
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
23
  </xs:restriction>
24
24
  </xs:simpleType>
25
25
  </xs:schema>
@@ -8,12 +8,12 @@
8
8
  <xs:documentation>The type of the description.</xs:documentation>
9
9
  </xs:annotation>
10
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"/>
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
17
  </xs:restriction>
18
18
  </xs:simpleType>
19
19
  </xs:schema>
@@ -6,11 +6,11 @@
6
6
  <xs:documentation>The type of the funderIdentifier.</xs:documentation>
7
7
  </xs:annotation>
8
8
  <xs:restriction base="xs:string">
9
- <xs:enumeration value="ISNI"/>
10
- <xs:enumeration value="GRID"/>
11
- <xs:enumeration value="ROR"/>
12
- <xs:enumeration value="Crossref Funder ID"/>
13
- <xs:enumeration value="Other"/>
9
+ <xs:enumeration value="ISNI" />
10
+ <xs:enumeration value="GRID" />
11
+ <xs:enumeration value="ROR" />
12
+ <xs:enumeration value="Crossref Funder ID" />
13
+ <xs:enumeration value="Other" />
14
14
  </xs:restriction>
15
15
  </xs:simpleType>
16
16
  </xs:schema>
@@ -3,8 +3,8 @@
3
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
4
  <xs:simpleType name="nameType" id="nameType">
5
5
  <xs:restriction base="xs:string">
6
- <xs:enumeration value="Organizational"/>
7
- <xs:enumeration value="Personal"/>
6
+ <xs:enumeration value="Organizational" />
7
+ <xs:enumeration value="Personal" />
8
8
  </xs:restriction>
9
9
  </xs:simpleType>
10
10
  </xs:schema>
@@ -0,0 +1,12 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!-- Version 4.4 - Created 2021-03-05 -->
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="numberType" id="numberType">
5
+ <xs:restriction base="xs:string">
6
+ <xs:enumeration value="Article" />
7
+ <xs:enumeration value="Chapter" />
8
+ <xs:enumeration value="Report" />
9
+ <xs:enumeration value="Other" />
10
+ </xs:restriction>
11
+ </xs:simpleType>
12
+ </xs:schema>
@@ -10,25 +10,25 @@
10
10
  <xs:documentation>The type of the RelatedIdentifier.</xs:documentation>
11
11
  </xs:annotation>
12
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"/>
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
32
  </xs:restriction>
33
33
  </xs:simpleType>
34
34
  </xs:schema>
@@ -4,46 +4,48 @@
4
4
  2013-05 v3.0: Addition of ID to simpleType element, addition of values "IsIdenticalTo", "HasMetadata" & "IsMetadataFor"
5
5
  2014-08-20 v3.1: Addition of values "Reviews" & "IsReviewedBy" and "IsDerivedFrom" & "IsSourceOf"
6
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" -->
7
+ 2019-02-14 v.4.2: Addition of values "Obsoletes", "IsObsoletedBy"
8
+ 2021-03-05 v.4.4: Addition of value "IsPublishedIn" -->
8
9
  <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
10
  <xs:simpleType name="relationType" id="relationType">
10
11
  <xs:annotation>
11
12
  <xs:documentation>Description of the relationship of the resource being registered (A) and the related resource (B).</xs:documentation>
12
13
  </xs:annotation>
13
14
  <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"/>
15
+ <xs:enumeration value="IsCitedBy" />
16
+ <xs:enumeration value="Cites" />
17
+ <xs:enumeration value="IsSupplementTo" />
18
+ <xs:enumeration value="IsSupplementedBy" />
19
+ <xs:enumeration value="IsContinuedBy" />
20
+ <xs:enumeration value="Continues" />
21
+ <xs:enumeration value="IsNewVersionOf" />
22
+ <xs:enumeration value="IsPreviousVersionOf" />
23
+ <xs:enumeration value="IsPartOf" />
24
+ <xs:enumeration value="HasPart" />
25
+ <xs:enumeration value="IsPublishedIn" />
26
+ <xs:enumeration value="IsReferencedBy" />
27
+ <xs:enumeration value="References" />
28
+ <xs:enumeration value="IsDocumentedBy" />
29
+ <xs:enumeration value="Documents" />
30
+ <xs:enumeration value="IsCompiledBy" />
31
+ <xs:enumeration value="Compiles" />
32
+ <xs:enumeration value="IsVariantFormOf" />
33
+ <xs:enumeration value="IsOriginalFormOf" />
34
+ <xs:enumeration value="IsIdenticalTo" />
35
+ <xs:enumeration value="HasMetadata" />
36
+ <xs:enumeration value="IsMetadataFor" />
37
+ <xs:enumeration value="Reviews" />
38
+ <xs:enumeration value="IsReviewedBy" />
39
+ <xs:enumeration value="IsDerivedFrom" />
40
+ <xs:enumeration value="IsSourceOf" />
41
+ <xs:enumeration value="Describes" />
42
+ <xs:enumeration value="IsDescribedBy" />
43
+ <xs:enumeration value="HasVersion" />
44
+ <xs:enumeration value="IsVersionOf" />
45
+ <xs:enumeration value="Requires" />
46
+ <xs:enumeration value="IsRequiredBy" />
47
+ <xs:enumeration value="Obsoletes" />
48
+ <xs:enumeration value="IsObsoletedBy" />
47
49
  </xs:restriction>
48
50
  </xs:simpleType>
49
51
  </xs:schema>
@@ -1,28 +1,43 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
2
  <!-- Version 1.0 - Created 2011-01-13 - FZ, TIB, Germany
3
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" -->
4
+ 2017-10-23 v4.1: Addition of value "DataPaper"
5
+ 2020-01-14 v4.4: Addition of values "Book", "Book Chapter", "ComputationalNotebook", "ConferencePaper", "ConferenceProceeding".
6
+ "Dissertation", "Journal", "JournalArticle", "OutputManagementPlan", "PeerReview", "Preprint", "Report" -->
5
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">
6
8
  <xs:simpleType name="resourceType" id="resourceType">
7
9
  <xs:annotation>
8
10
  <xs:documentation>The general type of a resource.</xs:documentation>
9
11
  </xs:annotation>
10
12
  <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"/>
13
+ <xs:enumeration value="Audiovisual" />
14
+ <xs:enumeration value="Book" />
15
+ <xs:enumeration value="BookChapter" />
16
+ <xs:enumeration value="Collection" />
17
+ <xs:enumeration value="ComputationalNotebook" />
18
+ <xs:enumeration value="ConferencePaper" />
19
+ <xs:enumeration value="ConferenceProceeding" />
20
+ <xs:enumeration value="DataPaper" />
21
+ <xs:enumeration value="Dataset" />
22
+ <xs:enumeration value="Dissertation" />
23
+ <xs:enumeration value="Event" />
24
+ <xs:enumeration value="Image" />
25
+ <xs:enumeration value="InteractiveResource" />
26
+ <xs:enumeration value="Journal" />
27
+ <xs:enumeration value="JournalArticle" />
28
+ <xs:enumeration value="Model" />
29
+ <xs:enumeration value="OutputManagementPlan" />
30
+ <xs:enumeration value="PeerReview" />
31
+ <xs:enumeration value="PhysicalObject" />
32
+ <xs:enumeration value="Preprint" />
33
+ <xs:enumeration value="Report" />
34
+ <xs:enumeration value="Service" />
35
+ <xs:enumeration value="Software" />
36
+ <xs:enumeration value="Sound" />
37
+ <xs:enumeration value="Standard" />
38
+ <xs:enumeration value="Text" />
39
+ <xs:enumeration value="Workflow" />
40
+ <xs:enumeration value="Other" />
26
41
  </xs:restriction>
27
42
  </xs:simpleType>
28
- </xs:schema>
43
+ </xs:schema>
@@ -5,10 +5,10 @@
5
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
6
  <xs:simpleType name="titleType" id="titleType">
7
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"/>
8
+ <xs:enumeration value="AlternativeTitle" />
9
+ <xs:enumeration value="Subtitle" />
10
+ <xs:enumeration value="TranslatedTitle" />
11
+ <xs:enumeration value="Other" />
12
12
  </xs:restriction>
13
13
  </xs:simpleType>
14
14
  </xs:schema>
@@ -11,18 +11,20 @@
11
11
  2017-10-23 v4.1: Addition of dateType value "Other", relationType values "Describes", "IsDescribedBy", "HasVersion", "IsVersionOf", "Requires", "IsRequiredBy", resourceType value "DataPaper", new subproperties "dateInformation", "inPolygonPoint", new attribute "nameType", optional attribute "resourceTypeGeneral" for relatedIdentifier
12
12
  2018-09-08 v4.1.1 Make schema 4.1 backwards compatible to 4.0 by allowing geolocation elements in any order
13
13
  2019-02-14 v4.2: Addition of dateType value "Withdrawn", relationType values "Obsoletes", "isObsoletedBy", addition of new subproperties for Rights: rightsIdentifier, rightsIdentifierScheme, schemeURI, addition of the XML language attribute to the properties Creator, Contributor and Publisher for organizational names, don't check format of DOI
14
- 2019-07-13 v4.3: Addition of new subproperties for Affiliation: "affiliationIdentifier", "affiliationIdentifierScheme", "schemeURI", addition of new sub-property for funderIdentifier: "schemeURI", addition of new funderIdentifierScheme: "ROR", added documentation for nameIdentifier -->
14
+ 2019-07-13 v4.3: Addition of new subproperties for Affiliation: "affiliationIdentifier", "affiliationIdentifierScheme", "schemeURI", addition of new sub-property for funderIdentifier: "schemeURI", addition of new funderIdentifierScheme: "ROR", added documentation for nameIdentifier
15
+ 2021-03-08 v4.4: Addition of new property relatedItem, relationType value "isPublishedIn", subject subproperty "classificationCode", controlled list "numberType", additional 13 properties for controlled list "resourceType" -->
15
16
  <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://datacite.org/schema/kernel-4" targetNamespace="http://datacite.org/schema/kernel-4" elementFormDefault="qualified" xml:lang="EN">
16
- <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="include/xml.xsd"/>
17
- <xs:include schemaLocation="include/datacite-titleType-v4.xsd"/>
18
- <xs:include schemaLocation="include/datacite-contributorType-v4.xsd"/>
19
- <xs:include schemaLocation="include/datacite-dateType-v4.xsd"/>
20
- <xs:include schemaLocation="include/datacite-resourceType-v4.xsd"/>
21
- <xs:include schemaLocation="include/datacite-relationType-v4.xsd"/>
22
- <xs:include schemaLocation="include/datacite-relatedIdentifierType-v4.xsd"/>
23
- <xs:include schemaLocation="include/datacite-funderIdentifierType-v4.xsd"/>
24
- <xs:include schemaLocation="include/datacite-descriptionType-v4.xsd"/>
25
- <xs:include schemaLocation="include/datacite-nameType-v4.xsd"/>
17
+ <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="include/xml.xsd" />
18
+ <xs:include schemaLocation="include/datacite-titleType-v4.xsd" />
19
+ <xs:include schemaLocation="include/datacite-contributorType-v4.xsd" />
20
+ <xs:include schemaLocation="include/datacite-dateType-v4.xsd" />
21
+ <xs:include schemaLocation="include/datacite-resourceType-v4.xsd" />
22
+ <xs:include schemaLocation="include/datacite-relationType-v4.xsd" />
23
+ <xs:include schemaLocation="include/datacite-relatedIdentifierType-v4.xsd" />
24
+ <xs:include schemaLocation="include/datacite-funderIdentifierType-v4.xsd" />
25
+ <xs:include schemaLocation="include/datacite-descriptionType-v4.xsd" />
26
+ <xs:include schemaLocation="include/datacite-nameType-v4.xsd" />
27
+ <xs:include schemaLocation="include/datacite-numberType-v4.xsd" />
26
28
  <xs:element name="resource">
27
29
  <xs:annotation>
28
30
  <xs:documentation>
@@ -40,7 +42,7 @@
40
42
  <xs:complexType>
41
43
  <xs:simpleContent>
42
44
  <xs:extension base="nonemptycontentStringType">
43
- <xs:attribute name="identifierType" use="required"/>
45
+ <xs:attribute name="identifierType" use="required" />
44
46
  </xs:extension>
45
47
  </xs:simpleContent>
46
48
  </xs:complexType>
@@ -60,16 +62,16 @@
60
62
  <xs:complexType>
61
63
  <xs:simpleContent>
62
64
  <xs:extension base="xs:string">
63
- <xs:attribute name="nameType" type="nameType" use="optional"/>
64
- <xs:attribute ref="xml:lang"/>
65
+ <xs:attribute name="nameType" type="nameType" use="optional" />
66
+ <xs:attribute ref="xml:lang" />
65
67
  </xs:extension>
66
68
  </xs:simpleContent>
67
69
  </xs:complexType>
68
70
  </xs:element>
69
- <xs:element name="givenName" minOccurs="0"/>
70
- <xs:element name="familyName" minOccurs="0"/>
71
- <xs:element name="nameIdentifier" xsi:type="nameIdentifier" minOccurs="0" maxOccurs="unbounded"/>
72
- <xs:element name="affiliation" xsi:type="affiliation" minOccurs="0" maxOccurs="unbounded"/>
71
+ <xs:element name="givenName" minOccurs="0" />
72
+ <xs:element name="familyName" minOccurs="0" />
73
+ <xs:element name="nameIdentifier" xsi:type="nameIdentifier" minOccurs="0" maxOccurs="unbounded" />
74
+ <xs:element name="affiliation" xsi:type="affiliation" minOccurs="0" maxOccurs="unbounded" />
73
75
  </xs:sequence>
74
76
  </xs:complexType>
75
77
  </xs:element>
@@ -86,8 +88,8 @@
86
88
  <xs:complexType>
87
89
  <xs:simpleContent>
88
90
  <xs:extension base="xs:string">
89
- <xs:attribute name="titleType" type="titleType" use="optional"/>
90
- <xs:attribute ref="xml:lang"/>
91
+ <xs:attribute name="titleType" type="titleType" use="optional" />
92
+ <xs:attribute ref="xml:lang" />
91
93
  </xs:extension>
92
94
  </xs:simpleContent>
93
95
  </xs:complexType>
@@ -103,7 +105,7 @@
103
105
  <xs:complexType>
104
106
  <xs:simpleContent>
105
107
  <xs:extension base="nonemptycontentStringType">
106
- <xs:attribute ref="xml:lang"/>
108
+ <xs:attribute ref="xml:lang" />
107
109
  </xs:extension>
108
110
  </xs:simpleContent>
109
111
  </xs:complexType>
@@ -115,7 +117,7 @@
115
117
  <xs:documentation>YYYY</xs:documentation>
116
118
  </xs:annotation>
117
119
  <xs:simpleType>
118
- <xs:restriction base="yearType"/>
120
+ <xs:restriction base="yearType" />
119
121
  </xs:simpleType>
120
122
  </xs:element>
121
123
  <xs:element name="resourceType">
@@ -126,7 +128,7 @@
126
128
  <xs:complexType>
127
129
  <xs:simpleContent>
128
130
  <xs:extension base="xs:string">
129
- <xs:attribute name="resourceTypeGeneral" type="resourceType" use="required"/>
131
+ <xs:attribute name="resourceTypeGeneral" type="resourceType" use="required" />
130
132
  </xs:extension>
131
133
  </xs:simpleContent>
132
134
  </xs:complexType>
@@ -136,19 +138,20 @@
136
138
  <xs:complexType>
137
139
  <xs:sequence>
138
140
  <xs:element name="subject" minOccurs="0" maxOccurs="unbounded">
139
- <xs:annotation>
140
- <xs:documentation>Subject, keywords, classification codes, or key phrases describing the resource.</xs:documentation>
141
- </xs:annotation>
142
- <xs:complexType>
143
- <xs:simpleContent>
144
- <xs:extension base="xs:string">
145
- <xs:attribute name="subjectScheme" use="optional"/>
146
- <xs:attribute name="schemeURI" type="xs:anyURI" use="optional"/>
147
- <xs:attribute name="valueURI" type="xs:anyURI" use="optional"/>
148
- <xs:attribute ref="xml:lang"/>
149
- </xs:extension>
150
- </xs:simpleContent>
151
- </xs:complexType>
141
+ <xs:annotation>
142
+ <xs:documentation>Subject, keywords, classification codes, or key phrases describing the resource.</xs:documentation>
143
+ </xs:annotation>
144
+ <xs:complexType>
145
+ <xs:simpleContent>
146
+ <xs:extension base="xs:string">
147
+ <xs:attribute name="subjectScheme" use="optional" />
148
+ <xs:attribute name="schemeURI" type="xs:anyURI" use="optional" />
149
+ <xs:attribute name="valueURI" type="xs:anyURI" use="optional" />
150
+ <xs:attribute name="classificationCode" type="xs:anyURI" use="optional" />
151
+ <xs:attribute ref="xml:lang" />
152
+ </xs:extension>
153
+ </xs:simpleContent>
154
+ </xs:complexType>
152
155
  </xs:element>
153
156
  </xs:sequence>
154
157
  </xs:complexType>
@@ -157,29 +160,29 @@
157
160
  <xs:complexType>
158
161
  <xs:sequence>
159
162
  <xs:element name="contributor" minOccurs="0" maxOccurs="unbounded">
160
- <xs:annotation>
161
- <xs:documentation>The institution or person responsible for collecting, creating, or otherwise contributing to the developement of the dataset.</xs:documentation>
162
- <xs:documentation>The personal name format should be: Family, Given.</xs:documentation>
163
- </xs:annotation>
164
- <xs:complexType>
165
- <xs:sequence>
166
- <xs:element name="contributorName">
167
- <xs:complexType>
168
- <xs:simpleContent>
169
- <xs:extension base="nonemptycontentStringType">
170
- <xs:attribute name="nameType" type="nameType" use="optional"/>
171
- <xs:attribute ref="xml:lang"/>
172
- </xs:extension>
173
- </xs:simpleContent>
174
- </xs:complexType>
175
- </xs:element>
176
- <xs:element name="givenName" minOccurs="0"/>
177
- <xs:element name="familyName" minOccurs="0"/>
178
- <xs:element name="nameIdentifier" xsi:type="nameIdentifier" minOccurs="0" maxOccurs="unbounded"/>
179
- <xs:element name="affiliation" xsi:type="affiliation" minOccurs="0" maxOccurs="unbounded"/>
180
- </xs:sequence>
181
- <xs:attribute name="contributorType" type="contributorType" use="required"/>
182
- </xs:complexType>
163
+ <xs:annotation>
164
+ <xs:documentation>The institution or person responsible for collecting, creating, or otherwise contributing to the developement of the dataset.</xs:documentation>
165
+ <xs:documentation>The personal name format should be: Family, Given.</xs:documentation>
166
+ </xs:annotation>
167
+ <xs:complexType>
168
+ <xs:sequence>
169
+ <xs:element name="contributorName">
170
+ <xs:complexType>
171
+ <xs:simpleContent>
172
+ <xs:extension base="nonemptycontentStringType">
173
+ <xs:attribute name="nameType" type="nameType" use="optional" />
174
+ <xs:attribute ref="xml:lang" />
175
+ </xs:extension>
176
+ </xs:simpleContent>
177
+ </xs:complexType>
178
+ </xs:element>
179
+ <xs:element name="givenName" minOccurs="0" />
180
+ <xs:element name="familyName" minOccurs="0" />
181
+ <xs:element name="nameIdentifier" xsi:type="nameIdentifier" minOccurs="0" maxOccurs="unbounded" />
182
+ <xs:element name="affiliation" xsi:type="affiliation" minOccurs="0" maxOccurs="unbounded" />
183
+ </xs:sequence>
184
+ <xs:attribute name="contributorType" type="contributorType" use="required" />
185
+ </xs:complexType>
183
186
  </xs:element>
184
187
  </xs:sequence>
185
188
  </xs:complexType>
@@ -195,8 +198,8 @@
195
198
  <xs:complexType>
196
199
  <xs:simpleContent>
197
200
  <xs:extension base="xs:string">
198
- <xs:attribute name="dateType" type="dateType" use="required"/>
199
- <xs:attribute name="dateInformation" use="optional"/>
201
+ <xs:attribute name="dateType" type="dateType" use="required" />
202
+ <xs:attribute name="dateInformation" use="optional" />
200
203
  </xs:extension>
201
204
  </xs:simpleContent>
202
205
  </xs:complexType>
@@ -219,7 +222,7 @@
219
222
  <xs:complexType>
220
223
  <xs:simpleContent>
221
224
  <xs:extension base="xs:string">
222
- <xs:attribute name="alternateIdentifierType" use="required"/>
225
+ <xs:attribute name="alternateIdentifierType" use="required" />
223
226
  </xs:extension>
224
227
  </xs:simpleContent>
225
228
  </xs:complexType>
@@ -237,12 +240,12 @@
237
240
  <xs:complexType>
238
241
  <xs:simpleContent>
239
242
  <xs:extension base="xs:string">
240
- <xs:attribute name="resourceTypeGeneral" type="resourceType" use="optional"/>
241
- <xs:attribute name="relatedIdentifierType" type="relatedIdentifierType" use="required"/>
242
- <xs:attribute name="relationType" type="relationType" use="required"/>
243
- <xs:attribute name="relatedMetadataScheme" use="optional"/>
244
- <xs:attribute name="schemeURI" type="xs:anyURI" use="optional"/>
245
- <xs:attribute name="schemeType" use="optional"/>
243
+ <xs:attribute name="resourceTypeGeneral" type="resourceType" use="optional" />
244
+ <xs:attribute name="relatedIdentifierType" type="relatedIdentifierType" use="required" />
245
+ <xs:attribute name="relationType" type="relationType" use="required" />
246
+ <xs:attribute name="relatedMetadataScheme" use="optional" />
247
+ <xs:attribute name="schemeURI" type="xs:anyURI" use="optional" />
248
+ <xs:attribute name="schemeType" use="optional" />
246
249
  </xs:extension>
247
250
  </xs:simpleContent>
248
251
  </xs:complexType>
@@ -290,11 +293,11 @@ Use the complete title of a license and include version information if applicabl
290
293
  <xs:complexType>
291
294
  <xs:simpleContent>
292
295
  <xs:extension base="xs:string">
293
- <xs:attribute name="rightsURI" type="xs:anyURI" use="optional"/>
294
- <xs:attribute name="rightsIdentifier" use="optional"/>
295
- <xs:attribute name="rightsIdentifierScheme" use="optional"/>
296
- <xs:attribute name="schemeURI" type="xs:anyURI" use="optional"/>
297
- <xs:attribute ref="xml:lang"/>
296
+ <xs:attribute name="rightsURI" type="xs:anyURI" use="optional" />
297
+ <xs:attribute name="rightsIdentifier" use="optional" />
298
+ <xs:attribute name="rightsIdentifierScheme" use="optional" />
299
+ <xs:attribute name="schemeURI" type="xs:anyURI" use="optional" />
300
+ <xs:attribute ref="xml:lang" />
298
301
  </xs:extension>
299
302
  </xs:simpleContent>
300
303
  </xs:complexType>
@@ -312,11 +315,11 @@ Use the complete title of a license and include version information if applicabl
312
315
  <xs:complexType mixed="true">
313
316
  <xs:choice>
314
317
  <xs:element name="br" minOccurs="0" maxOccurs="unbounded">
315
- <xs:complexType/>
318
+ <xs:complexType />
316
319
  </xs:element>
317
320
  </xs:choice>
318
- <xs:attribute name="descriptionType" type="descriptionType" use="required"/>
319
- <xs:attribute ref="xml:lang"/>
321
+ <xs:attribute name="descriptionType" type="descriptionType" use="required" />
322
+ <xs:attribute ref="xml:lang" />
320
323
  </xs:complexType>
321
324
  </xs:element>
322
325
  </xs:sequence>
@@ -349,8 +352,8 @@ Use the complete title of a license and include version information if applicabl
349
352
  </xs:annotation>
350
353
  <xs:complexType>
351
354
  <xs:sequence>
352
- <xs:element name="polygonPoint" type="point" minOccurs="4" maxOccurs="unbounded"/>
353
- <xs:element name="inPolygonPoint" type="point" minOccurs="0" maxOccurs="1"/>
355
+ <xs:element name="polygonPoint" type="point" minOccurs="4" maxOccurs="unbounded" />
356
+ <xs:element name="inPolygonPoint" type="point" minOccurs="0" maxOccurs="1" />
354
357
  </xs:sequence>
355
358
  </xs:complexType>
356
359
  </xs:element>
@@ -374,7 +377,7 @@ Use the complete title of a license and include version information if applicabl
374
377
  <xs:documentation>Name of the funding provider.</xs:documentation>
375
378
  </xs:annotation>
376
379
  <xs:simpleType>
377
- <xs:restriction base="nonemptycontentStringType"/>
380
+ <xs:restriction base="nonemptycontentStringType" />
378
381
  </xs:simpleType>
379
382
  </xs:element>
380
383
  <xs:element name="funderIdentifier" minOccurs="0">
@@ -384,8 +387,8 @@ Use the complete title of a license and include version information if applicabl
384
387
  <xs:complexType>
385
388
  <xs:simpleContent>
386
389
  <xs:extension base="xs:string">
387
- <xs:attribute name="funderIdentifierType" type="funderIdentifierType" use="required"/>
388
- <xs:attribute name="schemeURI" type="xs:anyURI" use="optional"/>
390
+ <xs:attribute name="funderIdentifierType" type="funderIdentifierType" use="required" />
391
+ <xs:attribute name="schemeURI" type="xs:anyURI" use="optional" />
389
392
  </xs:extension>
390
393
  </xs:simpleContent>
391
394
  </xs:complexType>
@@ -397,7 +400,7 @@ Use the complete title of a license and include version information if applicabl
397
400
  <xs:complexType>
398
401
  <xs:simpleContent>
399
402
  <xs:extension base="xs:string">
400
- <xs:attribute name="awardURI" type="xs:anyURI" use="optional"/>
403
+ <xs:attribute name="awardURI" type="xs:anyURI" use="optional" />
401
404
  </xs:extension>
402
405
  </xs:simpleContent>
403
406
  </xs:complexType>
@@ -413,14 +416,203 @@ Use the complete title of a license and include version information if applicabl
413
416
  </xs:sequence>
414
417
  </xs:complexType>
415
418
  </xs:element>
419
+ <xs:element name="relatedItems" minOccurs="0">
420
+ <xs:complexType>
421
+ <xs:sequence>
422
+ <xs:element name="relatedItem" minOccurs="0" maxOccurs="unbounded">
423
+ <xs:annotation>
424
+ <xs:documentation>Information about a resource related to the one being registered e.g. a journal or book of which the article or chapter is part.</xs:documentation>
425
+ </xs:annotation>
426
+ <xs:complexType>
427
+ <xs:sequence>
428
+ <xs:element name="relatedItemIdentifier" minOccurs="0">
429
+ <xs:annotation>
430
+ <xs:documentation>The identifier for the related item.</xs:documentation>
431
+ </xs:annotation>
432
+ <xs:complexType>
433
+ <xs:simpleContent>
434
+ <xs:extension base="xs:string">
435
+ <xs:attribute name="relatedItemIdentifierType" type="relatedIdentifierType" use="optional">
436
+ <xs:annotation>
437
+ <xs:documentation>The type of the Identifier for the related item e.g. DOI.</xs:documentation>
438
+ </xs:annotation>
439
+ </xs:attribute>
440
+ <xs:attribute name="relatedMetadataScheme" use="optional">
441
+ <xs:annotation>
442
+ <xs:documentation>The name of the scheme.</xs:documentation>
443
+ </xs:annotation>
444
+ </xs:attribute>
445
+ <xs:attribute name="schemeURI" type="xs:anyURI" use="optional">
446
+ <xs:annotation>
447
+ <xs:documentation>The URI of the relatedMetadataScheme.</xs:documentation>
448
+ </xs:annotation>
449
+ </xs:attribute>
450
+ <xs:attribute name="schemeType" use="optional">
451
+ <xs:annotation>
452
+ <xs:documentation>The type of the relatedMetadataScheme, linked with the schemeURI.</xs:documentation>
453
+ </xs:annotation>
454
+ </xs:attribute>
455
+ </xs:extension>
456
+ </xs:simpleContent>
457
+ </xs:complexType>
458
+ </xs:element>
459
+ <xs:element name="creators" minOccurs="0">
460
+ <xs:complexType>
461
+ <xs:sequence>
462
+ <xs:element name="creator" minOccurs="0" maxOccurs="unbounded">
463
+ <xs:annotation>
464
+ <xs:documentation>The institution or person responsible for creating the
465
+ related resource. To supply multiple creators, repeat this property.
466
+ </xs:documentation>
467
+ </xs:annotation>
468
+ <xs:complexType>
469
+ <xs:sequence>
470
+ <xs:element name="creatorName">
471
+ <xs:complexType>
472
+ <xs:simpleContent>
473
+ <xs:extension base="xs:string">
474
+ <xs:attribute name="nameType" type="nameType" use="optional" />
475
+ <xs:attribute ref="xml:lang" />
476
+ </xs:extension>
477
+ </xs:simpleContent>
478
+ </xs:complexType>
479
+ </xs:element>
480
+ <xs:element name="givenName" minOccurs="0" />
481
+ <xs:element name="familyName" minOccurs="0" />
482
+ </xs:sequence>
483
+ </xs:complexType>
484
+ </xs:element>
485
+ </xs:sequence>
486
+ </xs:complexType>
487
+ </xs:element>
488
+ <xs:element name="titles" minOccurs="0">
489
+ <xs:complexType>
490
+ <xs:sequence>
491
+ <xs:element name="title" minOccurs="0" maxOccurs="unbounded">
492
+ <xs:annotation>
493
+ <xs:documentation>Title of the related item.</xs:documentation>
494
+ </xs:annotation>
495
+ <xs:complexType>
496
+ <xs:simpleContent>
497
+ <xs:extension base="xs:string">
498
+ <xs:attribute name="titleType" type="titleType" use="optional" />
499
+ <xs:attribute ref="xml:lang" />
500
+ </xs:extension>
501
+ </xs:simpleContent>
502
+ </xs:complexType>
503
+ </xs:element>
504
+ </xs:sequence>
505
+ </xs:complexType>
506
+ </xs:element>
507
+ <xs:element name="publicationYear" minOccurs="0">
508
+ <xs:annotation>
509
+ <xs:documentation>The year when the item was or will be made publicly available.</xs:documentation>
510
+ </xs:annotation>
511
+ <xs:simpleType>
512
+ <xs:restriction base="yearType" />
513
+ </xs:simpleType>
514
+ </xs:element>
515
+ <xs:element name="volume" minOccurs="0">
516
+ <xs:annotation>
517
+ <xs:documentation>Volume of the related item.</xs:documentation>
518
+ </xs:annotation>
519
+ </xs:element>
520
+ <xs:element name="issue" minOccurs="0">
521
+ <xs:annotation>
522
+ <xs:documentation>Issue number or name of the related item.</xs:documentation>
523
+ </xs:annotation>
524
+ </xs:element>
525
+ <xs:element name="number" minOccurs="0">
526
+ <xs:annotation>
527
+ <xs:documentation>Issue number or name of the related item.</xs:documentation>
528
+ </xs:annotation>
529
+ <xs:complexType>
530
+ <xs:simpleContent>
531
+ <xs:extension base="xs:string">
532
+ <xs:attribute name="numberType" type="numberType" use="optional" />
533
+ </xs:extension>
534
+ </xs:simpleContent>
535
+ </xs:complexType>
536
+ </xs:element>
537
+ <xs:element name="firstPage" minOccurs="0">
538
+ <xs:annotation>
539
+ <xs:documentation>First page of the related item e.g. of the chapter, article, or conference paper.</xs:documentation>
540
+ </xs:annotation>
541
+ </xs:element>
542
+ <xs:element name="lastPage" minOccurs="0">
543
+ <xs:annotation>
544
+ <xs:documentation>Last page of the related item e.g. of the chapter, article, or conference paper.</xs:documentation>
545
+ </xs:annotation>
546
+ </xs:element>
547
+ <xs:element name="publisher" minOccurs="0">
548
+ <xs:annotation>
549
+ <xs:documentation>The name of the entity that holds, archives, publishes prints, distributes, releases, issues, or produces the resource. This property will be used to formulate the citation, so consider the prominence of the role.</xs:documentation>
550
+ </xs:annotation>
551
+ </xs:element>
552
+ <xs:element name="edition" minOccurs="0">
553
+ <xs:annotation>
554
+ <xs:documentation>Edition or version of the related item.</xs:documentation>
555
+ </xs:annotation>
556
+ </xs:element>
557
+ <xs:element name="contributors" minOccurs="0">
558
+ <xs:complexType>
559
+ <xs:sequence>
560
+ <xs:element name="contributor" minOccurs="0" maxOccurs="unbounded">
561
+ <xs:annotation>
562
+ <xs:documentation>The institution or person responsible for collecting,
563
+ managing, distributing, or otherwise contributing to the development of
564
+ the resource.</xs:documentation>
565
+ </xs:annotation>
566
+ <xs:complexType>
567
+ <xs:sequence>
568
+ <xs:element name="contributorName">
569
+ <xs:complexType>
570
+ <xs:simpleContent>
571
+ <xs:extension base="xs:string">
572
+ <xs:attribute name="nameType" type="nameType" use="optional" />
573
+ <xs:attribute ref="xml:lang" />
574
+ </xs:extension>
575
+ </xs:simpleContent>
576
+ </xs:complexType>
577
+ </xs:element>
578
+ <xs:element name="givenName" minOccurs="0" />
579
+ <xs:element name="familyName" minOccurs="0" />
580
+ </xs:sequence>
581
+ <xs:attribute name="contributorType" type="contributorType" use="required">
582
+ <xs:annotation>
583
+ <xs:documentation>The type of contributor of the resource.</xs:documentation>
584
+ </xs:annotation>
585
+ </xs:attribute>
586
+ </xs:complexType>
587
+ </xs:element>
588
+ </xs:sequence>
589
+ </xs:complexType>
590
+ </xs:element>
591
+ </xs:sequence>
592
+ <xs:attribute name="relatedItemType" type="resourceType" use="required">
593
+ <xs:annotation>
594
+ <xs:documentation>The type of the related item, e.g. journal article, book or chapter.</xs:documentation>
595
+ </xs:annotation>
596
+ </xs:attribute>
597
+ <xs:attribute name="relationType" type="relationType" use="required">
598
+ <xs:annotation>
599
+ <xs:documentation>Description of the relationship of the resource being registered (A) and the related resource (B).</xs:documentation>
600
+ </xs:annotation>
601
+ </xs:attribute>
602
+ </xs:complexType>
603
+ </xs:element>
604
+ </xs:sequence>
605
+ </xs:complexType>
606
+ </xs:element>
416
607
  </xs:all>
417
608
  </xs:complexType>
418
609
  </xs:element>
610
+
419
611
  <!-- TYPE DECLARATIONS -->
420
612
  <!-- defines value for mandatory fields -->
421
613
  <xs:simpleType name="nonemptycontentStringType">
422
614
  <xs:restriction base="xs:string">
423
- <xs:minLength value="1"/>
615
+ <xs:minLength value="1" />
424
616
  </xs:restriction>
425
617
  </xs:simpleType>
426
618
  <!-- definition for nameIdentifier -->
@@ -430,8 +622,8 @@ Use the complete title of a license and include version information if applicabl
430
622
  </xs:annotation>
431
623
  <xs:simpleContent>
432
624
  <xs:extension base="nonemptycontentStringType">
433
- <xs:attribute name="nameIdentifierScheme" type="xs:string" use="required"/>
434
- <xs:attribute name="schemeURI" type="xs:anyURI" use="optional"/>
625
+ <xs:attribute name="nameIdentifierScheme" type="xs:string" use="required" />
626
+ <xs:attribute name="schemeURI" type="xs:anyURI" use="optional" />
435
627
  </xs:extension>
436
628
  </xs:simpleContent>
437
629
  </xs:complexType>
@@ -439,31 +631,31 @@ Use the complete title of a license and include version information if applicabl
439
631
  <xs:simpleType name="edtf">
440
632
  <xs:restriction base="xs:string">
441
633
  <!-- pattern for iso8601 dateTime -->
442
- <xs:pattern value="(-)?[0-9]{4}(-[0-9]{2})?(-[0-9]{2})?(T([0-9]{2}:){2}[0-9]{2}Z)?"/>
443
-
634
+ <xs:pattern value="(-)?[0-9]{4}(-[0-9]{2})?(-[0-9]{2})?(T([0-9]{2}:){2}[0-9]{2}Z)?" />
635
+
444
636
  <!--
445
637
  The following pattern is for year (yyyy) or year-month (yyyy-mm)
446
638
  The last or last two digits of year may be '?' meaning "one year in that range but not sure which year", for example 19?? means some year from 1990 to 1999. Similarly month may be '??' so that 2004-?? "means some month in 2004". And the entire string may end with '?' or '~' for "uncertain" or "approximate".
447
639
  Hyphen must separate year and month.
448
640
  -->
449
- <xs:pattern value="\d{2}(\d{2}|\?\?|\d(\d|\?))(-(\d{2}|\?\?))?~?\??"/>
641
+ <xs:pattern value="\d{2}(\d{2}|\?\?|\d(\d|\?))(-(\d{2}|\?\?))?~?\??" />
450
642
  <!--
451
643
  The following pattern is for yearMonthDay - yyyymmdd, where 'dd' may be '??' so '200412??' means "some day during the month of 12/2004".
452
644
  The whole string may be followed by '?' or '~' to mean "questionable" or "approximate". Hypens are not allowed for this pattern.
453
645
  -->
454
- <xs:pattern value="\d{6}(\d{2}|\?\?)~?\??"/>
646
+ <xs:pattern value="\d{6}(\d{2}|\?\?)~?\??" />
455
647
  <!--
456
648
 
457
649
  The following pattern is for date and time with T separator:'yyyymmddThhmmss'.
458
650
  Hypens in date and colons in time not allowed for this pattern.
459
651
  -->
460
- <xs:pattern value="\d{8}T\d{6}"/>
652
+ <xs:pattern value="\d{8}T\d{6}" />
461
653
  <!--
462
654
 
463
655
  The following pattern is for a date range. in years: 'yyyy/yyyy'; or year/month: yyyy-mm/yyyy-mm, or year/month/day: yyyy-mm-dd/yyyy-mm-dd. Beginning or end of range value may be 'unknown'. End of range value may be 'open'.
464
656
  Hypens mandatory when month is present.
465
657
  -->
466
- <xs:pattern value="((-)?(\d{4}(-\d{2})?(-\d{2})?)|unknown)/((-)?(\d{4}(-\d{2})?(-\d{2})?)|unknown|open)"/>
658
+ <xs:pattern value="((-)?(\d{4}(-\d{2})?(-\d{2})?)|unknown)/((-)?(\d{4}(-\d{2})?(-\d{2})?)|unknown|open)" />
467
659
  </xs:restriction>
468
660
  </xs:simpleType>
469
661
  <!-- definition for affiliation -->
@@ -473,43 +665,43 @@ Use the complete title of a license and include version information if applicabl
473
665
  </xs:annotation>
474
666
  <xs:simpleContent>
475
667
  <xs:extension base="nonemptycontentStringType">
476
- <xs:attribute name="affiliationIdentifier" type="xs:string" use="optional"/>
477
- <xs:attribute name="affiliationIdentifierScheme" type="xs:string" use="optional"/>
478
- <xs:attribute name="schemeURI" type="xs:anyURI" use="optional"/>
668
+ <xs:attribute name="affiliationIdentifier" type="xs:string" use="optional" />
669
+ <xs:attribute name="affiliationIdentifierScheme" type="xs:string" use="optional" />
670
+ <xs:attribute name="schemeURI" type="xs:anyURI" use="optional" />
479
671
  </xs:extension>
480
672
  </xs:simpleContent>
481
673
  </xs:complexType>
482
674
  <!-- defines the value for a year -->
483
675
  <xs:simpleType name="yearType">
484
676
  <xs:restriction base="xs:token">
485
- <xs:pattern value="[\d]{4}"/>
677
+ <xs:pattern value="[\d]{4}" />
486
678
  </xs:restriction>
487
679
  </xs:simpleType>
488
680
  <!-- definitions for geoLocation -->
489
681
  <xs:complexType name="point">
490
682
  <xs:all>
491
- <xs:element name="pointLongitude" type="longitudeType" minOccurs="1"/>
492
- <xs:element name="pointLatitude" type="latitudeType" minOccurs="1"/>
683
+ <xs:element name="pointLongitude" type="longitudeType" minOccurs="1" />
684
+ <xs:element name="pointLatitude" type="latitudeType" minOccurs="1" />
493
685
  </xs:all>
494
686
  </xs:complexType>
495
687
  <xs:complexType name="box">
496
688
  <xs:all>
497
- <xs:element name="westBoundLongitude" type="longitudeType" minOccurs="1"/>
498
- <xs:element name="eastBoundLongitude" type="longitudeType" minOccurs="1"/>
499
- <xs:element name="southBoundLatitude" type="latitudeType" minOccurs="1"/>
500
- <xs:element name="northBoundLatitude" type="latitudeType" minOccurs="1"/>
689
+ <xs:element name="westBoundLongitude" type="longitudeType" minOccurs="1" />
690
+ <xs:element name="eastBoundLongitude" type="longitudeType" minOccurs="1" />
691
+ <xs:element name="southBoundLatitude" type="latitudeType" minOccurs="1" />
692
+ <xs:element name="northBoundLatitude" type="latitudeType" minOccurs="1" />
501
693
  </xs:all>
502
694
  </xs:complexType>
503
695
  <xs:simpleType name="longitudeType">
504
696
  <xs:restriction base="xs:float">
505
- <xs:minInclusive value="-180"/>
506
- <xs:maxInclusive value="180"/>
697
+ <xs:minInclusive value="-180" />
698
+ <xs:maxInclusive value="180" />
507
699
  </xs:restriction>
508
700
  </xs:simpleType>
509
701
  <xs:simpleType name="latitudeType">
510
702
  <xs:restriction base="xs:float">
511
- <xs:minInclusive value="-90"/>
512
- <xs:maxInclusive value="90"/>
703
+ <xs:minInclusive value="-90" />
704
+ <xs:maxInclusive value="90" />
513
705
  </xs:restriction>
514
706
  </xs:simpleType>
515
707
  </xs:schema>