diff --git a/schemas/iso19115-3.2018/src/main/plugin/iso19115-3.2018/convert/fromPangaea.xsl b/schemas/iso19115-3.2018/src/main/plugin/iso19115-3.2018/convert/fromPangaea.xsl
new file mode 100644
index 000000000000..0d46398b2bd0
--- /dev/null
+++ b/schemas/iso19115-3.2018/src/main/plugin/iso19115-3.2018/convert/fromPangaea.xsl
@@ -0,0 +1,751 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ISO 19115-3
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ geoscientificInformation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ WWW:DOWNLOAD
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ DOI
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The data set was checked for completeness, correctness, and consistency of metainformation. Validity of
+ used methods was checked and - if applicable - precision and range of data.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ EVENT
+ * LABEL:
+
+ * LATITUDE:
+
+ * LONGITUDE:
+
+ * DATE/TIME START:
+
+ * DATE/TIME END:
+
+ * ELEVATION:
+
+ * LOCATION:
+
+ * METHOD/DEVICE:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ORCID
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ PANGAEA
+
+
+
+
+
+
+
+
+ info@pangaea.de
+
+
+
+
+
+
+
+ https://www.pangaea.de
+
+
+
+
+
+
+
+
+
+
+
diff --git a/schemas/iso19115-3.2018/src/main/plugin/iso19115-3.2018/convert/fromZenodo.xsl b/schemas/iso19115-3.2018/src/main/plugin/iso19115-3.2018/convert/fromZenodo.xsl
new file mode 100644
index 000000000000..683ccd6b0945
--- /dev/null
+++ b/schemas/iso19115-3.2018/src/main/plugin/iso19115-3.2018/convert/fromZenodo.xsl
@@ -0,0 +1,515 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ISO 19115-3
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ WWW:DOWNLOAD:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ DOI
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/schemas/iso19115-3.2018/src/test/java/org/fao/geonet/schema/XslConversionTest.java b/schemas/iso19115-3.2018/src/test/java/org/fao/geonet/schema/XslConversionTest.java
index 926e6045a99e..94dc39bebe66 100644
--- a/schemas/iso19115-3.2018/src/test/java/org/fao/geonet/schema/XslConversionTest.java
+++ b/schemas/iso19115-3.2018/src/test/java/org/fao/geonet/schema/XslConversionTest.java
@@ -72,4 +72,62 @@ public void testOdsConversion() throws Exception {
String.format("Differences: %s", diff.toString()),
diff.hasDifferences());
}
+
+
+ @Test
+ public void testZenodoConversion() throws Exception {
+ xslFile = Paths.get(testClass.getClassLoader().getResource("convert/fromZenodo.xsl").toURI());
+ xmlFile = Paths.get(testClass.getClassLoader().getResource("zenodo.xml").toURI());
+ Path jsonFile = Paths.get(testClass.getClassLoader().getResource("zenodo.json").toURI());
+ String jsonString = Files.readString(jsonFile);
+ Element xmlFromJSON = Xml.getXmlFromJSON(jsonString);
+ xmlFromJSON.setName("record");
+
+ Element inputElement = Xml.loadFile(xmlFile);
+ String expectedXml = Xml.getString(inputElement);
+
+ Element resultElement = Xml.transform(xmlFromJSON, xslFile);
+ String resultOfConversion = Xml.getString(resultElement);
+
+ Diff diff = DiffBuilder
+ .compare(Input.fromString(resultOfConversion))
+ .withTest(Input.fromString(expectedXml))
+ .withNodeMatcher(new DefaultNodeMatcher(ElementSelectors.byName))
+ .normalizeWhitespace()
+ .ignoreComments()
+ .checkForSimilar()
+ .build();
+ assertFalse(
+ String.format("Differences: %s", diff.toString()),
+ diff.hasDifferences());
+ }
+
+
+ @Test
+ public void testPangaeaConversion() throws Exception {
+ xslFile = Paths.get(testClass.getClassLoader().getResource("convert/fromPangaea.xsl").toURI());
+ xmlFile = Paths.get(testClass.getClassLoader().getResource("pangaea_output.xml").toURI());
+ Path pangaeaInputFile = Paths.get(testClass.getClassLoader().getResource("pangaea_input.xml").toURI());
+ String pangaeaInputDocument = Files.readString(pangaeaInputFile);
+ Element pangaeaInput = Xml.loadString(pangaeaInputDocument, false);
+
+ Element inputElement = Xml.loadFile(xmlFile);
+ String expectedXml = Xml.getString(inputElement);
+
+ Element resultElement = Xml.transform(pangaeaInput, xslFile);
+ String resultOfConversion = Xml.getString(resultElement);
+
+ Diff diff = DiffBuilder
+ .compare(Input.fromString(resultOfConversion))
+ .withTest(Input.fromString(expectedXml))
+ .withNodeMatcher(new DefaultNodeMatcher(ElementSelectors.byName))
+ .normalizeWhitespace()
+ .ignoreComments()
+ .checkForSimilar()
+ .build();
+ assertFalse(
+ String.format("Differences: %s", diff.toString()),
+ diff.hasDifferences());
+ }
+
}
diff --git a/schemas/iso19115-3.2018/src/test/resources/pangaea_input.xml b/schemas/iso19115-3.2018/src/test/resources/pangaea_input.xml
new file mode 100644
index 000000000000..51718d003b73
--- /dev/null
+++ b/schemas/iso19115-3.2018/src/test/resources/pangaea_input.xml
@@ -0,0 +1,262 @@
+
+
+
+ Barreyre
+ Thibaut
+ barreyre@ipgp.fr
+ 0000-0002-5109-2633
+
+
+ Escartín
+ Javier
+ escartin@ipgp.fr
+ http://www.ipgp.fr/rech/lgm/je/
+
+
+ Sohn
+ Robert A
+
+
+ Cannat
+ Mathilde
+ cannat@ipgp.fr
+ 0000-0002-5157-8473
+
+
+ Ballu
+ Valérie
+
+
+ Crawford
+ Wayne C
+ 0000-0002-3260-1826
+
+ 2014
+ Lucky Strike record of hydrothermal outflow temperature at station CI_V01_110710_120716_HW0012A
+ dataset
+ https://doi.org/10.1594/PANGAEA.820342
+ https://doi.org/10.1594/PANGAEA.820343
+
+
+
+ Barreyre
+ Thibaut
+ barreyre@ipgp.fr
+ 0000-0002-5109-2633
+
+
+ Escartín
+ Javier
+ escartin@ipgp.fr
+ http://www.ipgp.fr/rech/lgm/je/
+
+
+ Sohn
+ Robert A
+
+
+ Cannat
+ Mathilde
+ cannat@ipgp.fr
+ 0000-0002-5157-8473
+
+
+ Ballu
+ Valérie
+
+
+ Crawford
+ Wayne C
+ 0000-0002-3260-1826
+
+ 2014
+ Temporal variability and tidal modulation of hydrothermal exit-fluid temperatures at the Lucky Strike
+ deep-sea vent field, Mid-Atlantic Ridge
+
+ journal article
+ Journal of Geophysical Research: Solid Earth
+ 119(4)
+ https://doi.org/10.1002/2013JB010478
+ 2543-2566
+
+
+
+ -32.27589
+ -32.27589
+ 37.28802
+ 37.28802
+ -32.27589
+ 37.28802
+
+
+ 2011-07-07T16:00:00
+ 2012-07-17T06:24:00
+
+
+ 1720.0
+ 1720.0
+
+ time series
+
+
+ CI_V01_110710_120716_HW0012A
+ 37.28802
+ -32.27589
+ -1700.0
+ 2011-07-07T16:00:00
+ 2012-07-17T06:24:00
+
+ Lucky Strike Hydrothermal Field, Cimendef
+
+
+ Temperature recorder
+ TEMP-R
+
+ Temperature sensors
+
+
+ water temperature sensor
+ http://vocab.nerc.ac.uk/collection/L05/current/134/
+
+
+ Record length: 37.201 days, sampling interval: 1440 s
+
+ 22537
+
+ CC-BY-3.0
+ Creative Commons Attribution 3.0 Unported
+ https://creativecommons.org/licenses/by/3.0/
+
+ The temperature record include ambient temperatures (onboard the ship), water column temperatures (going
+ up and down) and the hydrothermal temperatures.
+
+
+
+ DATE/TIME
+ Date/Time
+ http://en.wikipedia.org/wiki/ISO_8601
+
+ Time
+ T
+ http://dbpedia.org/resource/Time
+
+
+ Date/Time
+
+
+
+ DEPTH, water
+ Depth water
+ m
+
+ depth
+ http://purl.obolibrary.org/obo/PATO_0001595
+
+
+ water
+ http://purl.obolibrary.org/obo/CHEBI_15377
+
+
+ Length
+ L
+ http://dbpedia.org/resource/Length
+
+
+ Depth water [m]
+
+
+
+ Temperature, water
+ Temp
+ °C
+
+ Temperature
+ Θ
+ http://dbpedia.org/resource/Temperature
+
+
+ water
+ http://purl.obolibrary.org/obo/CHEBI_15377
+
+
+
+ High temperature sensor, MISO-Woods Hole
+
+ Temperature sensors
+
+
+ water temperature sensor
+ http://vocab.nerc.ac.uk/collection/L05/current/134/
+
+
+
+ Escartín
+ Javier
+ escartin@ipgp.fr
+ http://www.ipgp.fr/rech/lgm/je/
+
+ Temp [°C]
+
+
+ citable
+ author41940
+ author49092
+ author49093
+ author49094
+ author49095
+ author524
+ event2705449
+ geocode1599
+ geocode1600
+ geocode1601
+ geocode1619
+ geocode8128
+ journal8824
+ license101
+ method5105
+ method8304
+ param717
+ pi41940
+ ref60752
+ term1073131
+ term2299603
+ term2606205
+ term30853
+ term43863
+ term43972
+ term43975
+ term67658
+ topotype8
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/schemas/iso19115-3.2018/src/test/resources/pangaea_output.xml b/schemas/iso19115-3.2018/src/test/resources/pangaea_output.xml
new file mode 100644
index 000000000000..44bcc65bf4db
--- /dev/null
+++ b/schemas/iso19115-3.2018/src/test/resources/pangaea_output.xml
@@ -0,0 +1,665 @@
+
+
+
+
+
+ de.pangaea.dataset820342
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ PANGAEA
+
+
+
+
+
+
+ info@pangaea.de
+
+
+
+
+
+
+ https://www.pangaea.de
+
+
+
+
+
+
+
+
+
+
+
+
+ 2024-07-19T18:12:21Z
+
+
+
+
+
+
+
+
+
+ ISO 19115-3
+
+
+
+
+
+
+ https://doi.org/10.1594/PANGAEA.820342
+
+
+
+
+
+
+
+
+
+
+
+ Lucky Strike record of hydrothermal outflow temperature at station
+ CI_V01_110710_120716_HW0012A
+
+
+
+
+
+ 2014
+
+
+
+
+
+
+
+
+
+ https://doi.org/10.1594/PANGAEA.820342
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Thibaut Barreyre
+
+
+
+
+
+
+ barreyre@ipgp.fr
+
+
+
+
+
+
+
+
+ 0000-0002-5109-2633
+
+
+ ORCID
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ http://www.ipgp.fr/rech/lgm/je/
+
+
+
+
+
+
+
+
+ Javier Escartín
+
+
+
+
+
+
+ escartin@ipgp.fr
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Robert A Sohn
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Mathilde Cannat
+
+
+
+
+
+
+ cannat@ipgp.fr
+
+
+
+
+
+
+
+
+ 0000-0002-5157-8473
+
+
+ ORCID
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Valérie Ballu
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Wayne C Crawford
+
+
+
+
+ 0000-0002-3260-1826
+
+
+ ORCID
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ PANGAEA
+
+
+
+
+
+
+ info@pangaea.de
+
+
+
+
+
+
+ https://www.pangaea.de
+
+
+
+
+
+
+
+
+
+
+
+
+
+ geoscientificInformation
+
+
+
+
+
+
+ -32.27589
+
+
+ -32.27589
+
+
+ 37.28802
+
+
+ 37.28802
+
+
+
+
+
+
+
+ 2011-07-07T16:00:00
+ 2012-07-17T06:24:00
+
+
+
+
+
+
+
+ 1720.0
+
+
+ 1720.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Creative Commons Attribution 3.0
+ Unported
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The temperature record include ambient temperatures (onboard the ship), water column
+ temperatures (going
+ up and down) and the hydrothermal temperatures.
+
+
+
+
+
+
+
+ DATE/TIME
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ DEPTH, water
+
+
+
+
+
+
+
+
+
+
+ m
+ m
+
+
+
+
+
+
+
+
+
+
+
+ Temperature, water
+
+
+
+
+
+
+
+
+
+ High temperature sensor, MISO-Woods Hole
+
+
+
+ °C
+ °C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/tab-separated-values
+
+
+
+
+
+
+
+
+
+
+ https://doi.pangaea.de/10.1594/PANGAEA.820342?format=textfile
+
+
+ WWW:DOWNLOAD
+
+
+ CI_V01_110710_120716_HW0012A_temp
+
+
+
+
+
+
+
+
+
+ https://doi.org/10.1594/PANGAEA.820342
+
+
+ DOI
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The data set was checked for completeness, correctness, and consistency of metainformation.
+ Validity of
+ used methods was checked and - if applicable - precision and range of data.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ EVENT
+ * LABEL:
+ CI_V01_110710_120716_HW0012A
+ * LATITUDE:
+ 37.28802
+ * LONGITUDE:
+ -32.27589
+ * DATE/TIME START:
+ -1700.0
+ * DATE/TIME END:
+ 2011-07-07T16:00:00
+ * ELEVATION:
+ 2012-07-17T06:24:00
+ * LOCATION:
+ Lucky Strike Hydrothermal Field, Cimendef
+ * METHOD/DEVICE:
+ Temperature recorder
+
+
+
+ Record length: 37.201 days, sampling interval: 1440 s
+
+
+
+ 2011-07-07T16:00:00
+
+
+
+
+
+
+
diff --git a/schemas/iso19115-3.2018/src/test/resources/zenodo.json b/schemas/iso19115-3.2018/src/test/resources/zenodo.json
new file mode 100644
index 000000000000..a91696d5c950
--- /dev/null
+++ b/schemas/iso19115-3.2018/src/test/resources/zenodo.json
@@ -0,0 +1,425 @@
+{
+ "access": {
+ "embargo": {
+ "active": false,
+ "reason": null
+ },
+ "files": "public",
+ "record": "public",
+ "status": "open"
+ },
+ "created": "2022-07-12T10:12:39.836086+00:00",
+ "custom_fields": {},
+ "deletion_status": {
+ "is_deleted": false,
+ "status": "P"
+ },
+ "files": {
+ "count": 4,
+ "enabled": true,
+ "entries": {
+ "argopy-0.1.12.tar.gz": {
+ "access": {
+ "hidden": false
+ },
+ "checksum": "md5:bf9c8011113bdec1d0b02e93a3eb4218",
+ "ext": "gz",
+ "id": "e2f49b5f-0f18-42f5-a508-7ca6221e3c7b",
+ "key": "argopy-0.1.12.tar.gz",
+ "links": {
+ "content": "https://zenodo.org/api/records/6343858/files/argopy-0.1.12.tar.gz/content",
+ "self": "https://zenodo.org/api/records/6343858/files/argopy-0.1.12.tar.gz"
+ },
+ "metadata": null,
+ "mimetype": "application/gzip",
+ "size": 5918014,
+ "storage_class": "L"
+ },
+ "argopy-0.1.12.zip": {
+ "access": {
+ "hidden": false
+ },
+ "checksum": "md5:68cab1686b96e9f62063279c5639a8b8",
+ "ext": "zip",
+ "id": "1298f601-088b-4706-ab91-3d02e0afca8c",
+ "key": "argopy-0.1.12.zip",
+ "links": {
+ "content": "https://zenodo.org/api/records/6343858/files/argopy-0.1.12.zip/content",
+ "self": "https://zenodo.org/api/records/6343858/files/argopy-0.1.12.zip"
+ },
+ "metadata": null,
+ "mimetype": "application/zip",
+ "size": 6015494,
+ "storage_class": "L"
+ },
+ "argopy-0.1.6.tar.gz": {
+ "access": {
+ "hidden": false
+ },
+ "checksum": "md5:39d71a6550c63ae2b213b865461bb906",
+ "ext": "gz",
+ "id": "7557b858-2cc4-4365-a6d5-e8db4475cfcb",
+ "key": "argopy-0.1.6.tar.gz",
+ "links": {
+ "content": "https://zenodo.org/api/records/6343858/files/argopy-0.1.6.tar.gz/content",
+ "self": "https://zenodo.org/api/records/6343858/files/argopy-0.1.6.tar.gz"
+ },
+ "metadata": null,
+ "mimetype": "application/gzip",
+ "size": 2121754,
+ "storage_class": "L"
+ },
+ "argopy-0.1.6.zip": {
+ "access": {
+ "hidden": false
+ },
+ "checksum": "md5:750d35f17154b76df9b42c42971f8ad2",
+ "ext": "zip",
+ "id": "fb23ee41-ab79-4327-83cd-f3b284431242",
+ "key": "argopy-0.1.6.zip",
+ "links": {
+ "content": "https://zenodo.org/api/records/6343858/files/argopy-0.1.6.zip/content",
+ "self": "https://zenodo.org/api/records/6343858/files/argopy-0.1.6.zip"
+ },
+ "metadata": null,
+ "mimetype": "application/zip",
+ "size": 2182473,
+ "storage_class": "L"
+ }
+ },
+ "order": [],
+ "total_bytes": 16237735
+ },
+ "id": "6343858",
+ "is_draft": false,
+ "is_published": true,
+ "links": {
+ "access": "https://zenodo.org/api/records/6343858/access",
+ "access_grants": "https://zenodo.org/api/records/6343858/access/grants",
+ "access_links": "https://zenodo.org/api/records/6343858/access/links",
+ "access_request": "https://zenodo.org/api/records/6343858/access/request",
+ "access_users": "https://zenodo.org/api/records/6343858/access/users",
+ "archive": "https://zenodo.org/api/records/6343858/files-archive",
+ "archive_media": "https://zenodo.org/api/records/6343858/media-files-archive",
+ "communities": "https://zenodo.org/api/records/6343858/communities",
+ "communities-suggestions": "https://zenodo.org/api/records/6343858/communities-suggestions",
+ "doi": "https://doi.org/10.5281/zenodo.6343858",
+ "draft": "https://zenodo.org/api/records/6343858/draft",
+ "files": "https://zenodo.org/api/records/6343858/files",
+ "latest": "https://zenodo.org/api/records/6343858/versions/latest",
+ "latest_html": "https://zenodo.org/records/6343858/latest",
+ "media_files": "https://zenodo.org/api/records/6343858/media-files",
+ "parent": "https://zenodo.org/api/records/4009263",
+ "parent_doi": "https://doi.org/10.5281/zenodo.4009263",
+ "parent_doi_html": "https://zenodo.org/doi/10.5281/zenodo.4009263",
+ "parent_html": "https://zenodo.org/records/4009263",
+ "requests": "https://zenodo.org/api/records/6343858/requests",
+ "reserve_doi": "https://zenodo.org/api/records/6343858/draft/pids/doi",
+ "self": "https://zenodo.org/api/records/6343858",
+ "self_doi": "https://doi.org/10.5281/zenodo.6343858",
+ "self_doi_html": "https://zenodo.org/doi/10.5281/zenodo.6343858",
+ "self_html": "https://zenodo.org/records/6343858",
+ "self_iiif_manifest": "https://zenodo.org/api/iiif/record:6343858/manifest",
+ "self_iiif_sequence": "https://zenodo.org/api/iiif/record:6343858/sequence/default",
+ "versions": "https://zenodo.org/api/records/6343858/versions"
+ },
+ "media_files": {
+ "count": 0,
+ "enabled": false,
+ "entries": {},
+ "order": [],
+ "total_bytes": 0
+ },
+ "metadata": {
+ "contributors": [
+ {
+ "person_or_org": {
+ "family_name": "Tucker",
+ "given_name": "Tyler",
+ "identifiers": [
+ {
+ "identifier": "0000-0002-0560-9777",
+ "scheme": "orcid"
+ }
+ ],
+ "name": "Tucker, Tyler",
+ "type": "personal"
+ },
+ "role": {
+ "id": "researchgroup",
+ "title": {
+ "de": "Forschungsgruppe",
+ "en": "Research group"
+ }
+ }
+ },
+ {
+ "person_or_org": {
+ "family_name": "Fernandes",
+ "given_name": "Filipe",
+ "identifiers": [
+ {
+ "identifier": "0000-0003-4165-2913",
+ "scheme": "orcid"
+ }
+ ],
+ "name": "Fernandes, Filipe",
+ "type": "personal"
+ },
+ "role": {
+ "id": "researchgroup",
+ "title": {
+ "de": "Forschungsgruppe",
+ "en": "Research group"
+ }
+ }
+ }
+ ],
+ "creators": [
+ {
+ "affiliations": [
+ {
+ "name": "Ifremer"
+ }
+ ],
+ "person_or_org": {
+ "family_name": "Maze",
+ "given_name": "Guillaume",
+ "identifiers": [
+ {
+ "identifier": "0000-0001-7231-2095",
+ "scheme": "orcid"
+ }
+ ],
+ "name": "Maze, Guillaume",
+ "type": "personal"
+ }
+ },
+ {
+ "affiliations": [
+ {
+ "name": "Ifremer"
+ }
+ ],
+ "person_or_org": {
+ "family_name": "Balem",
+ "given_name": "Kevin",
+ "identifiers": [
+ {
+ "identifier": "0000-0002-4956-8698",
+ "scheme": "orcid"
+ }
+ ],
+ "name": "Balem, Kevin",
+ "type": "personal"
+ }
+ }
+ ],
+ "description": "
Argo is a real-time global ocean in situ observing system. It provides thousands of highly accurate ocean measurements every day. The Argo dataset has now accumulated more than 2.3 million vertical ocean profiles and accessing it for scientific analysis remains a challenge.
\n\nThe Argo expert community, focused on delivering a curated dataset of the best scientific quality possible, has never provided its user base with a Python software package to easily access and manipulate Argo measurements: the argopy software aims to fill this gap. The argopy software can be used to easily fetch and manipulate measurements from Argo floats. It is dedicated to scientists without knowledge of the Argo data management system but is also designed to accommodate expert requirements.
",
+ "funding": [
+ {
+ "award": {
+ "acronym": "Euro-Argo RISE",
+ "id": "00k4n6c32::824131",
+ "identifiers": [
+ {
+ "identifier": "https://cordis.europa.eu/projects/824131",
+ "scheme": "url"
+ }
+ ],
+ "number": "824131",
+ "program": "H2020-EU.1.4.",
+ "title": {
+ "en": "Euro-Argo Research Infrastructure Sustainability and Enhancement"
+ }
+ },
+ "funder": {
+ "id": "00k4n6c32",
+ "name": "European Commission"
+ }
+ }
+ ],
+ "languages": [
+ {
+ "id": "eng",
+ "title": {
+ "en": "English"
+ }
+ }
+ ],
+ "publication_date": "2020-08-31",
+ "publisher": "Zenodo",
+ "related_identifiers": [
+ {
+ "identifier": "10.21105/joss.02425",
+ "relation_type": {
+ "id": "isdocumentedby",
+ "title": {
+ "de": "Wird dokumentiert von",
+ "en": "Is documented by"
+ }
+ },
+ "resource_type": {
+ "id": "publication-article",
+ "title": {
+ "de": "Zeitschriftenartikel",
+ "en": "Journal article"
+ }
+ },
+ "scheme": "doi"
+ }
+ ],
+ "resource_type": {
+ "id": "software",
+ "title": {
+ "de": "Software",
+ "en": "Software"
+ }
+ },
+ "rights": [
+ {
+ "description": {
+ "en": "A permissive license whose main conditions require preservation of copyright and license notices. Contributors provide an express grant of patent rights. Licensed works, modifications, and larger works may be distributed under different terms and without source code."
+ },
+ "id": "apache-2.0",
+ "props": {
+ "scheme": "spdx",
+ "url": "http://www.apache.org/licenses/LICENSE-2.0"
+ },
+ "title": {
+ "en": "Apache License 2.0"
+ }
+ }
+ ],
+ "subjects": [
+ {
+ "subject": "data"
+ },
+ {
+ "subject": "oceanography"
+ }
+ ],
+ "title": "argopy: A Python library for Argo ocean data analysis",
+ "version": "v0.1.12"
+ },
+ "parent": {
+ "access": {
+ "owned_by": {
+ "user": "26362"
+ }
+ },
+ "communities": {
+ "entries": [
+ {
+ "access": {
+ "member_policy": "open",
+ "members_visibility": "restricted",
+ "record_submission_policy": "open",
+ "review_policy": "closed",
+ "visibility": "public"
+ },
+ "children": {
+ "allow": true
+ },
+ "created": "2022-11-23T15:53:29.436323+00:00",
+ "custom_fields": {},
+ "deletion_status": {
+ "is_deleted": false,
+ "status": "P"
+ },
+ "id": "f0a8b890-f97a-4eb2-9eac-8b8a712d3a6c",
+ "links": {},
+ "metadata": {
+ "curation_policy": "Curation policy
\nThe EU Open Research Repository serves as a repository for research outputs (data, software, posters, presentations, publications, etc) which have been funded under an EU research funding programme such as Horizon Europe, Euratom or earlier Framework Programmes.
\nThe community is managed by CERN on behalf of the European Commission.
\nZenodo’s general policies and Terms of Use apply to all content.
\nScope
\nThe EU Open Research Repository accepts all digital research objects which is a research output stemming from one of EU’s research and innovation funding programmes. The funding programmes currently include:
\n\nIn line with the principle as open as possible, as closed as necessary both public and restricted content is accepted. See note on how Zenodo handles restricted content.
\nContent submission
\nEU programme beneficiaries are eligible to submit content to the community. The community supports three types of content submissions:
\n\n- \n
Submission via an EU Project Community (through user interface or programmatic APIs).
\n \n- \n
Submission directly to the EU Open Research Repository.
\n \n- \n
Automated harvesting from existing Zenodo content.
\n \n
\nProject community (preferred)
\nA representative of an EU project may request an EU Project Community and invite other project participants as members of the community. The project community is linked to one or more European Commission grants. All records in the project community are automatically integrated into the EU Open Research Repository immediately upon acceptance into the project community.
\nDirect submission
\nAny user may submit a record directly to the EU Open Research Repository. The submission will be moderated by Zenodo staff for compliance with the minimal required metadata requirements and its correctness.
\nAutomated harvesting
\nRecords found among Zenodo’s existing content will on a regular basis automatically be integrated if they are found to comply with the requirements. The submissions through this method are integrated into the EU Open Research Repository with delay in a fully automated way.
\nDescriptive information
\nMinimal metadata requirements
\nRecords in the EU Open Research Repository are required to comply with the following minimal metadata requirements:
\n\n- \n
Visibility: Both public and restricted (with or without embargo and/or access request)
\n \n- \n
Resource types: All resource types.
\n \n- \n
Licenses: Public and embargoed records MUST specify a license.
\n \n- \n
Funding information: Records MUST specify at least one grant from the European Commission.
\n \n- \n
Creators: Creators SHOULD be identified with a persistent identifier (e.g. ORCID, GND, …), and affiliations SHOULD be identified with a persistent identifier (e.g. ROR, ISNI, …)
\n \n- \n
Subjects: Records SHOULD specify one or more fields of science from the European Science Vocabulary.
\n \n
\nReview & moderation
\nAll submissions will undergo automated curation checks for compliance with the policy. Submissions through project communities are reviewed by the project community. Submission directly to the EU Open Research Repository is reviewed by Zenodo staff.
\nCommunity curators may at any point edit metadata of the records in the community without notice through human or automated processing. The curators may at their sole discretion remove records from the community that are deemed not to comply with the content and curation policy or which are deemed of insufficient quality.
\nUpdates
\nThe content and curation policy is subject to change by the community owner at any time and without notice, other than through updating this page.
",
+ "description": "Open repository for EU-funded research outputs from Horizon Europe, Euratom, and earlier Framework Programmes.",
+ "funding": [
+ {
+ "funder": {
+ "id": "00k4n6c32"
+ }
+ }
+ ],
+ "organizations": [
+ {
+ "id": "00k4n6c32"
+ }
+ ],
+ "page": "About
\nThe EU Open Research Repository is a Zenodo-community dedicated to fostering open science and enhancing the visibility and accessibility of research outputs funded by the European Union. The community is managed by CERN on behalf of the European Commission.
\nMission
\nThe mission of the repository is to support the implementation of the EU's open science policy, providing a trusted and comprehensive space for researchers to share their research outputs such as data, software, reports, presentations, posters and more. The EU Open Research Repository simplifies the process of complying with open science requirements, ensuring that research outputs from Horizon Europe, Euratom, and earlier Framework Programmes are freely accessible, thereby accelerating scientific discovery and innovation.
\nEU Open Research Repository vs Open Research Europe (ORE)
\nThe EU Open Research Repository serves as a complementary platform to the Open Research Europe (ORE) publishing platform. Open Research Europe focuses on providing a publishing venue for peer-reviewed articles, ensuring that research meets rigorous academic standards. The EU Open Research Repository provides a space for all the other research outputs including data sets, software, posters, and presentations that are out of scope for ORE. This holistic approach enables researchers to not only publish their findings but also share the underlying data and materials that support their work, fostering transparency and reproducibility in the scientific process.
\nFunding
\nThe EU Open Research Repository is funded by the European Union under grant agreement no. 101122956(HORIZON-ZEN). For more information about the project see https://about.zenodo.org/projects/horizon-zen/.
",
+ "title": "EU Open Research Repository",
+ "type": {
+ "id": "organization"
+ },
+ "website": "https://research-and-innovation.ec.europa.eu"
+ },
+ "revision_id": 20,
+ "slug": "eu",
+ "theme": {
+ "brand": "horizon",
+ "enabled": true,
+ "style": {
+ "font": {
+ "family": "Arial, sans-serif",
+ "size": "16px",
+ "weight": 600
+ },
+ "mainHeaderBackgroundColor": "#FFFFFF",
+ "primaryColor": "#004494",
+ "primaryTextColor": "#FFFFFF",
+ "secondaryColor": "#FFD617",
+ "secondaryTextColor": "#000000",
+ "tertiaryColor": "#e3eefd",
+ "tertiaryTextColor": "#1c5694"
+ }
+ },
+ "updated": "2024-10-18T07:28:14.565467+00:00"
+ }
+ ],
+ "ids": [
+ "f0a8b890-f97a-4eb2-9eac-8b8a712d3a6c"
+ ]
+ },
+ "id": "4009263",
+ "pids": {
+ "doi": {
+ "client": "datacite",
+ "identifier": "10.5281/zenodo.4009263",
+ "provider": "datacite"
+ }
+ }
+ },
+ "pids": {
+ "doi": {
+ "client": "datacite",
+ "identifier": "10.5281/zenodo.6343858",
+ "provider": "datacite"
+ },
+ "oai": {
+ "identifier": "oai:zenodo.org:6343858",
+ "provider": "oai"
+ }
+ },
+ "revision_id": 2,
+ "stats": {
+ "all_versions": {
+ "data_volume": 152032665.0,
+ "downloads": 53,
+ "unique_downloads": 47,
+ "unique_views": 310,
+ "views": 333
+ },
+ "this_version": {
+ "data_volume": 74799455.0,
+ "downloads": 17,
+ "unique_downloads": 14,
+ "unique_views": 72,
+ "views": 82
+ }
+ },
+ "status": "published",
+ "swh": {},
+ "updated": "2022-07-12T13:48:31.951600+00:00",
+ "versions": {
+ "index": 3,
+ "is_latest": true
+ }
+}
\ No newline at end of file
diff --git a/schemas/iso19115-3.2018/src/test/resources/zenodo.xml b/schemas/iso19115-3.2018/src/test/resources/zenodo.xml
new file mode 100644
index 000000000000..8de6fbea78a7
--- /dev/null
+++ b/schemas/iso19115-3.2018/src/test/resources/zenodo.xml
@@ -0,0 +1,455 @@
+
+
+
+
+
+ zenodo.6343858
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Ifremer
+
+
+
+
+ Guillaume
+
+
+
+
+ https://orcid.org/0000-0001-7231-2095
+
+
+ orcid
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Ifremer
+
+
+
+
+ Kevin
+
+
+
+
+ https://orcid.org/0000-0002-4956-8698
+
+
+ orcid
+
+
+
+
+
+
+
+
+
+
+
+
+ 2022-07-12T13:48:31.951600+00:00
+
+
+
+
+
+
+
+
+
+ ISO 19115-3
+
+
+
+
+
+
+
+
+ argopy: A Python library for Argo ocean data analysis
+
+
+
+
+ 2020-08-31
+
+
+
+
+
+
+
+ v0.1.12
+
+
+
+
+ oai:zenodo.org:6343858
+
+
+
+
+
+
+ 10.5281/zenodo.6343858
+
+
+
+
+
+
+ <p>Argo is a real-time global ocean in situ observing system. It provides thousands
+ of highly accurate ocean measurements every day. The Argo dataset has now accumulated more than 2.3 million
+ vertical ocean profiles and accessing it for scientific analysis remains a challenge.</p> <p>The
+ Argo expert community, focused on delivering a curated dataset of the best scientific quality
+ possible, has never provided its user base with a Python software package to easily access and manipulate Argo
+ measurements: the argopy software aims to fill this gap. <strong>The argopy software can be used to
+ easily fetch and manipulate measurements from Argo floats</strong>. It is dedicated to scientists
+ without knowledge of the Argo data management system but is also designed to accommodate expert requirements.</p>
+
+
+
+
+
+
+
+
+
+
+ Ifremer
+
+
+
+
+ Guillaume
+
+
+
+
+ https://orcid.org/0000-0001-7231-2095
+
+
+ orcid
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Ifremer
+
+
+
+
+ Kevin
+
+
+
+
+ https://orcid.org/0000-0002-4956-8698
+
+
+ orcid
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Tyler
+
+
+
+
+ https://orcid.org/0000-0002-0560-9777
+
+
+ orcid
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Filipe
+
+
+
+
+ https://orcid.org/0000-0003-4165-2913
+
+
+ orcid
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Apache License 2.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ https://zenodo.org/api/records/6343858/files/argopy-0.1.12.tar.gz
+
+
+
+ WWW:DOWNLOAD:application/gzip
+
+
+ argopy-0.1.12.tar.gz
+
+
+
+
+
+
+
+
+
+ https://zenodo.org/api/records/6343858/files/argopy-0.1.12.zip
+
+
+
+ WWW:DOWNLOAD:application/zip
+
+
+ argopy-0.1.12.zip
+
+
+
+
+
+
+
+
+
+ https://zenodo.org/api/records/6343858/files/argopy-0.1.6.zip
+
+
+ WWW:DOWNLOAD:application/zip
+
+
+ argopy-0.1.6.zip
+
+
+
+
+
+
+
+
+
+ https://zenodo.org/api/records/6343858/files/argopy-0.1.6.tar.gz
+
+
+
+ WWW:DOWNLOAD:application/gzip
+
+
+ argopy-0.1.6.tar.gz
+
+
+
+
+
+
+
+
+
+ https://doi.org/10.5281/zenodo.6343858
+
+
+ DOI
+
+
+ doi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+