From 59f5ffbd09e2c3f3e218f39b69dda4e53b036e92 Mon Sep 17 00:00:00 2001 From: Paul van Genuchten Date: Fri, 22 Sep 2023 18:22:28 +0200 Subject: [PATCH] support for datacite schema on the oai-pmh endpoint (#898) * this adds the datacite schema to the oai-pmh endpoint, based on work by @cfenell at https://github.com/cfenell/pycsw/blob/datacite/pycsw/plugins/outputschemas/datacite.py * this adds the datacite schema to the oai-pmh endpoint, based on work by @cfenell at https://github.com/cfenell/pycsw/blob/datacite/pycsw/plugins/outputschemas/datacite.py * docs update for Datacite * add subjects from themes property * Update introduction.rst --------- Co-authored-by: Genuchten Co-authored-by: Tom Kralidis --- docs/introduction.rst | 30 +- pycsw/oaipmh.py | 7 + pycsw/plugins/outputschemas/__init__.py | 2 +- pycsw/plugins/outputschemas/datacite.py | 382 ++++++++++++++++++ .../expected/get_GetCapabilities-lang.xml | 2 + .../expected/get_GetCapabilities.xml | 2 + .../apiso/expected/post_GetCapabilities.xml | 2 + .../atom/expected/post_GetCapabilities.xml | 2 + ...t_27e17158-c57a-4493-92ac-dba8934cf462.xml | 3 + ...t_2ab7d1fa-885b-459f-80e4-b6282eab4f8c.xml | 3 + ...t_477b23a3-baa9-47c8-9541-5fe27735ed49.xml | 3 + ...t_48f26761-3a9d-48db-bee1-da089f5fb857.xml | 3 + ...t_55c38f00-2553-42c1-99ab-33edbb561ad7.xml | 3 + ...t_80f31def-4185-48b9-983a-960566918eae.xml | 3 + ...t_9697f0aa-3b6a-4125-83a5-61e8826127c4.xml | 3 + ...t_ba5fc729-3b71-47a0-b7d0-42ec565cd185.xml | 3 + ...t_f4692ec5-9547-4a05-88ab-e6154af2640a.xml | 3 + ...t_0bdf8457-971e-4ed1-be4a-5feca4dcd8fa.xml | 2 + ...t_22f44168-2ccf-4801-ad96-204212566d56.xml | 2 + ...t_2499a9c9-8d33-449c-bc92-d494adfcc84d.xml | 2 + ...t_27f4f39c-d92a-4e3c-b961-c6aa8c24e513.xml | 2 + ...t_2b06a5c8-0df2-4af1-8d2e-a425de11c845.xml | 2 + ...t_43cd6471-6ac7-45bd-8ff9-148cb2de9a52.xml | 2 + ...t_5e9e67dc-18d6-4645-8111-c6263c88a61f.xml | 2 + ...t_6a9d0558-9d87-495b-b999-b49a3ef1cf99.xml | 2 + ...t_6e9cba43-5e27-415d-adbd-a92851c2c173.xml | 2 + ...t_7e82446a-b5dc-43fe-9a73-4cc1f2f2f0bf.xml | 2 + ...t_8025978e-1a35-4d70-80c2-e8329e0c7864.xml | 2 + .../expected/get_GetCapabilities-base-url.xml | 2 + .../get_GetCapabilities-no-version.xml | 2 + .../csw30/expected/get_GetCapabilities.xml | 2 + ...t_c03d173a-3f42-4956-89c8-1fe02c3a0873.xml | 2 + ...t_e67ca935-d65d-4d8c-8302-1405333dded0.xml | 2 + .../csw30/expected/post_GetCapabilities.xml | 2 + .../default/expected/get_GetCapabilities.xml | 2 + .../expected/post_GetCapabilities-SOAP.xml | 2 + .../post_GetCapabilities-updatesequence.xml | 2 + .../default/expected/post_GetCapabilities.xml | 2 + .../dif/expected/post_GetCapabilities.xml | 2 + .../expected/get_GetCapabilities.xml | 2 + .../ebrim/expected/post_GetCapabilities.xml | 2 + .../fgdc/expected/post_GetCapabilities.xml | 2 + .../gm03/expected/post_GetCapabilities.xml | 2 + .../expected/post_GetCapabilities.xml | 3 + .../expected/post_GetDomain-parameter.xml | 1 + .../expected/get_GetCapabilities.xml | 2 + .../manager/expected/post_GetCapabilities.xml | 3 + .../expected/post_GetDomain-parameter.xml | 1 + .../expected/get_GetRecord_datacite.xml | 39 ++ .../expected/get_ListIdentifiers_datacite.xml | 79 ++++ .../expected/get_ListMetadataFormats.xml | 5 + .../expected/get_ListRecords_datacite.xml | 340 ++++++++++++++++ .../suites/oaipmh/get/requests.txt | 3 + .../utf-8/expected/post_GetCapabilities.xml | 2 + 54 files changed, 984 insertions(+), 2 deletions(-) create mode 100644 pycsw/plugins/outputschemas/datacite.py create mode 100644 tests/functionaltests/suites/oaipmh/expected/get_GetRecord_datacite.xml create mode 100644 tests/functionaltests/suites/oaipmh/expected/get_ListIdentifiers_datacite.xml create mode 100644 tests/functionaltests/suites/oaipmh/expected/get_ListRecords_datacite.xml diff --git a/docs/introduction.rst b/docs/introduction.rst index bebc29ce7..9321d5321 100644 --- a/docs/introduction.rst +++ b/docs/introduction.rst @@ -20,7 +20,7 @@ Features - implements Full Text Search capabilities - implements OGC OpenSearch Geo and Time Extensions - implements Open Archives Initiative Protocol for Metadata Harvesting -- supports ISO, Dublin Core, DIF, FGDC, Atom and GM03 metadata models +- supports ISO, Dublin Core, DIF, FGDC, Atom, GM03 and DataCite metadata models - CGI or WSGI deployment - simple configuration - transactional capabilities (OGC API - Records and CSW-T) @@ -59,6 +59,7 @@ Standards Support `SRU`_,1.1 `OGC OpenSearch`_,1.0 `OAI-PMH`_,2.0 + `DataCite`_,4.3 OGC API - Records support ------------------------- @@ -139,6 +140,7 @@ Supported Output Schemas - NASA DIF - Atom - GM03 +- DataCite Supported Sorting Functionality ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -205,6 +207,31 @@ Functions - trim - upper +OAI-PMH Support +--------------- + +Supported Operations +^^^^^^^^^^^^^^^^^^^^ + +- GetRecord +- Identify +- ListIdentifiers +- ListMetadataFormats +- ListRecords +- ListSets + +Supported Filters +^^^^^^^^^^^^^^^^^ + +- from +- until +- set + +Paging +^^^^^^ + +- resumptionToken + .. _`OGC API - Records - Part 1: Core`: https://ogcapi.ogc.org/records .. _`OGC API - Features - Part 3: Filtering`: http://docs.ogc.org/DRAFTS/19-079.html .. _`Common Query Language (CQL2)`: https://docs.ogc.org/DRAFTS/21-065.html @@ -235,3 +262,4 @@ Functions .. _`OAI-PMH`: https://www.openarchives.org/pmh/ .. _`GM03`: https://www.geocat.admin.ch/en/dokumentation/gm03.html .. _`OGC API - Features - Part 4: Create, Replace, Update and Delete`: https://cnn.com +.. _`DataCite`: https://schema.datacite.org/meta/kernel-4.3/ diff --git a/pycsw/oaipmh.py b/pycsw/oaipmh.py index ab7f3f89a..6dbfba977 100644 --- a/pycsw/oaipmh.py +++ b/pycsw/oaipmh.py @@ -96,6 +96,13 @@ def __init__(self, context, config): 'identifier': './/gm03:DATASECTION//gm03:fileIdentifer', 'dateStamp': './/gm03:DATASECTION//gm03:dateStamp', 'setSpec': './/dataset' + }, + 'datacite': { + 'namespace': 'http://datacite.org/schema/kernel-4', + 'schema': 'http://schema.datacite.org/meta/kernel-4.3/metadata.xsd', + 'identifier': '//identifier', + 'dateStamp': '//dates/date', + 'setSpec': '' } } self.metadata_sets = { diff --git a/pycsw/plugins/outputschemas/__init__.py b/pycsw/plugins/outputschemas/__init__.py index 84afbdded..1224ae24b 100644 --- a/pycsw/plugins/outputschemas/__init__.py +++ b/pycsw/plugins/outputschemas/__init__.py @@ -28,4 +28,4 @@ # # ================================================================= -__all__ = ['atom', 'dif', 'fgdc', 'gm03'] +__all__ = ['atom', 'dif', 'fgdc', 'gm03', 'datacite'] diff --git a/pycsw/plugins/outputschemas/datacite.py b/pycsw/plugins/outputschemas/datacite.py new file mode 100644 index 000000000..dcb3dc102 --- /dev/null +++ b/pycsw/plugins/outputschemas/datacite.py @@ -0,0 +1,382 @@ +# -*- coding: utf-8 -*- +# ================================================================= +# +# - pycsw DataCite output plugin - +# +# Authors: Carl-Fredrik Enell , Paul van Genuchten +# Based on pycsw plugins by Tom Kralidis +# DataCite schema follows: +# https://github.com/inveniosoftware/datacite/blob/master/datacite/schema42.py +# https://schema.datacite.org/meta/kernel-4.3/example/datacite-example-full-v4.xml +# +# This module intends to follow DataCite 4.3 +# +# PyCSW Copyright (C) 2015 Tom Kralidis +# Schema Copyright (C) 2016 CERN +# Schema Copyright (C) 2019 Caltech +# This file Copyright (C) 2020 EISCAT Scientific Association +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation +# files (the "Software"), to deal in the Software without +# restriction, including without limitation the rights to use, +# copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following +# conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. +# +# ================================================================= +from pycsw.core import util +from pycsw.core.etree import etree +from os.path import basename +from datetime import datetime +import json +import logging + +""" +datacite.py +Output plugin for DataCite 4.3 schema output +Defines function write_record +Input: result, esn, context, url (pycsw query results) +Output: XML etree according to DataCite schema +""" + +NAMESPACE = 'http://datacite.org/schema/kernel-4' +NAMESPACES = {'xml': 'http://www.w3.org/XML/1998/namespace', + 'datacite': NAMESPACE, + 'oai': 'http://www.openarchives.org/OAI/2.0/'} +LOGGER = logging.getLogger(__name__) + +XPATH_MAPPINGS = { + 'pycsw:Identifier': 'identifier', + 'pycsw:Date': 'dates/date', + 'pycsw:Creator': 'creators/creator', + 'pycsw:Title': 'titles/title', + 'pycsw:Abstract': 'descriptions/description', + 'pycsw:Publisher': 'publisher', + 'pycsw:BoundingBox': 'geoLocations/geoLocation/geoLocationBox', + 'pycsw:Format': 'formats/format', + 'pycsw:Language': 'Language', + 'pycsw:Edition': 'version', + 'pycsw:PublicationDate': 'dates/date', + 'pycsw:Keywords': 'subjects/subject', + 'pycsw:TopicCategory': 'subjects/subject', + 'pycsw:Themes': 'subjects/subject', + 'pycsw:Lineage': 'lineage', + 'pycsw:TempExtent_begin': '', + 'pycsw:TempExtent_end': '', + 'pycsw:Contributor': '', + 'pycsw:AccessConstraints': '', + 'pycsw:Contacts': '', + 'pycsw:Links': '' +} + + +def write_record(result, esn, context, url=None): + """ + Main function + Return csw:SearchResults child as lxml.etree.Element + """ + typename = util.getqattr(result, context.md_core_model['mappings']['pycsw:Typename']) + # Check if we already have DataCite formatted metadata + if esn == 'full' and typename == 'datacite': + # dump record as is and exit + return etree.fromstring(util.getqattr(result, context.md_core_model['mappings']['pycsw:XML']), context.parser) + + # Otherwise build XML tree from available metadata + node = etree.Element(util.nspath_eval('resource', NAMESPACES)) + node.attrib[util.nspath_eval('xsi:schemaLocation', context.namespaces)] = \ + '%s http://schema.datacite.org/meta/kernel-4.3/metadata.xsd' % NAMESPACE + # Type + type = etree.SubElement(node, util.nspath_eval('resourceType', NAMESPACES)) + + # mapping from isotypes = ["attribute","attributeType","collectionHardware","collectionSession","dataset","series","nonGeographicDataset","dimensionGroup","feature","featureType","propertyType","fieldSession","software","service","model","tile","initiative","stereomate","sensor","platformSeries","sensorSeries","productionSeries","transferAggregate","otherAggregate"] + resTypeGeneral = basename(util.getqattr(result, context.md_core_model['mappings']['pycsw:Type'])) + type.text = resTypeGeneral + + if resTypeGeneral.lower() in ["dataset","nongeographicdataset","featuretype","transferaggregate","otheraggregate"]: + resTypeGeneral = "Dataset" + elif resTypeGeneral.lower() in ["software"]: + resTypeGeneral = "Software" + elif resTypeGeneral.lower() in ["collectionSession","fieldSession"]: + resTypeGeneral = "Event" + elif resTypeGeneral.lower() in ["service"]: + resTypeGeneral = "Service" + elif resTypeGeneral.lower() in ["model"]: + resTypeGeneral = "Model" + elif resTypeGeneral.lower() in ["series"]: + resTypeGeneral = "Collection" + elif resTypeGeneral.lower() in ["text","document","article"]: + resTypeGeneral = "Text" + elif resTypeGeneral.lower() in ["image"]: + resTypeGeneral = "Image" + else: + resTypeGeneral = "Other" + + assert resTypeGeneral in [ + "Audiovisual", + "Book", + "BookChapter", + "Collection", + "ComputationalNotebook", + "ConferencePaper", + "ConferenceProceeding", + "DataPaper", + "Dataset", + "Dissertation", + "Event", + "Image", + "InteractiveResource", + "Journal", + "JournalArticle", + "Model", + "OutputManagementPlan", + "PeerReview", + "PhysicalObject", + "Preprint", + "Report", + "Service", + "Software", + "Sound", + "Standard", + "Text", + "Workflow", + "Other" + ] + type.attrib[util.nspath_eval('resourceTypeGeneral', NAMESPACES)] = resTypeGeneral + + # Identifier + ident = etree.SubElement(node, util.nspath_eval('identifier', NAMESPACES)) + ival = util.getqattr(result, context.md_core_model['mappings']['pycsw:Identifier']) + ident.text = ival + #Identifier type: + # NB DOI is mandatory for DataCite proper but we plan to use the schema with other IDs too. Modify as necessary. + if ival.lower().startswith("doi"): + idType = "DOI" + elif ival.lower().startswith("handle"): + idType = "Handle" + elif ival.lower().startswith("urn"): + idType = "URN" + else: + idType = "URL" + ident.attrib[util.nspath_eval('identifierType', NAMESPACES)] = idType or "DOI" + + # modified + mod = util.getqattr(result, context.md_core_model['mappings']['pycsw:Date']) + if mod not in [None, '']: + dates = etree.SubElement(node, util.nspath_eval('dates', NAMESPACES)) + date = etree.SubElement(dates, util.nspath_eval('date', NAMESPACES)) + date.attrib['dateType'] = 'Updated' + date.text = mod + + # Title + titles = etree.SubElement(node, util.nspath_eval('titles', NAMESPACES)) + tval = util.getqattr(result, context.md_core_model['mappings']['pycsw:Title']) + title = etree.SubElement(titles, util.nspath_eval('title', NAMESPACES)) + title.attrib[util.nspath_eval("xml:lang", NAMESPACES)]= util.getqattr(result, context.md_core_model['mappings']['pycsw:Language']) or "eng" + title.text = tval + + # keywords + # example + kwval = util.getqattr(result, context.md_core_model['mappings']['pycsw:Keywords']) + tcval = util.getqattr(result, context.md_core_model['mappings']['pycsw:TopicCategory']) + kws = etree.SubElement(node, util.nspath_eval('subjects', NAMESPACES)) + if kwval not in [None, '']: + # todo: subject per kw + kw = etree.SubElement(kws, util.nspath_eval('subject', NAMESPACES)) + kw.attrib[util.nspath_eval("xml:lang", NAMESPACES)]= util.getqattr(result, context.md_core_model['mappings']['pycsw:Language']) or "eng" + kw.text = kwval + if tcval not in [None, '']: + kw = etree.SubElement(kws, util.nspath_eval('subject', NAMESPACES)) + kw.attrib['schemaUri'] = 'https://schemas.opengis.net/iso/19139/20070417/resources/codelist/gmxCodelists.xml#MD_TopicCategoryCode' + kw.text = tcval + # themes + # example + themes = util.getqattr(result, context.md_core_model['mappings']['pycsw:Themes']) + if themes not in [None, '']: + try: + for t in json.loads(themes): + thesaurus = t.get('thesaurus',{}).get('url', t.get('thesaurus',{}).get('title', '')) + for k in [c for c in t.get('keywords', []) if c['name'] not in [None, '']]: + kw = etree.SubElement(kws, util.nspath_eval('subject', NAMESPACES)) + kw.attrib['schemaUri'] = thesaurus + kw.text = k.get('name') + except Exception as err: + LOGGER.exception(f"failed to parse themes json of {themes}: {err}") + + # publisher, creator, contributor, should have at least 1 creator (use originator else organization else ...) + cval = util.getqattr(result, context.md_core_model['mappings']['pycsw:Contacts']) + hasCreator = False # requires at least 1 creator + creas = etree.SubElement(node, util.nspath_eval('creators', NAMESPACES)) + hasPublisher = False # 1 publisher at most + if cval not in [None, '', 'null']: + conts = etree.SubElement(node, util.nspath_eval('contributors', NAMESPACES)) + try: + for cnt in json.loads(cval): + try: + cont = etree.SubElement(conts, util.nspath_eval('contributor', NAMESPACES)) + roleMapping = { + "resourceProvider": "Distributor", + "custodian": "DataCurator", + "owner": "RightsHolder", + "user": "Other", + "distributor": "Distributor", + "originator": "Producer", + "pointOfContact": "ContactPerson", + "principalInvestigator": "Supervisor", + "processor": "Other", + "publisher": "Distributor", + "author": "Researcher" + } + + contnm = etree.SubElement(cont, util.nspath_eval('contributorName', NAMESPACES)) + contnm.text = cnt.get('individualname',cnt.get('organization', '')) + cont.attrib['contributorType'] = roleMapping.get(cnt.get('role', ''),'Other') + if cont.get('url').startswith('http'): + contid = etree.SubElement(cont, util.nspath_eval('nameIdentifier', NAMESPACES)) + contid.attrib['nameIdentifierScheme'] = "URL" + contid.text = cont['url'] + if cont['organization']: + contaf = etree.SubElement(cont, util.nspath_eval('affiliation', NAMESPACES)) + contaf.text = cont['organization'] + + if not hasPublisher and cnt.get('role', '').lower() in ['publisher','resourceProvider','distributor']: + hasPublisher = True + pb = etree.SubElement(node, util.nspath_eval('publisher', NAMESPACES)) + pb.text = cnt.get('individualname',cnt.get('organization', '')) + elif cnt.get('role', '').lower() in ['originator','author','principalInvestigator']: + hasCreator = True + crea = etree.SubElement(creas, util.nspath_eval('creator', NAMESPACES)) + creanm = etree.SubElement(crea, util.nspath_eval('creatorName', NAMESPACES)) + creanm.text = cnt.get('individualname',cnt.get('organization', '')) + if cnt['url'] not in [None, '']: + creaid = etree.SubElement(crea, util.nspath_eval('nameIdentifier', NAMESPACES)) + creaid.attrib['nameIdentifierScheme'] = "URL" + creaid.text = cnt['url'] + if cnt['organization'] not in [None, '']: + creaff = etree.SubElement(crea, util.nspath_eval('affiliation', NAMESPACES)) + creaff.text = cnt['organization'] + + except Exception as err: + LOGGER.exception(f"failed to parse contact of {cnt}: {err}") + except Exception as err: + LOGGER.exception(f"failed to parse contacts json of {cval}: {err}") + if not hasCreator: + crea = etree.SubElement(creas, util.nspath_eval('creator', NAMESPACES)) + creanm = etree.SubElement(crea, util.nspath_eval('creatorName', NAMESPACES)) + cval = util.getqattr(result, context.md_core_model['mappings']['pycsw:OrganizationName']) + creanm.text = cval + +# foo + descriptions = etree.SubElement(node, util.nspath_eval('descriptions', NAMESPACES)) + tval = util.getqattr(result, context.md_core_model['mappings']['pycsw:Abstract']) + description = etree.SubElement(descriptions, util.nspath_eval('description', NAMESPACES)) + description.attrib[util.nspath_eval("xml:lang", NAMESPACES)]= util.getqattr(result, context.md_core_model['mappings']['pycsw:Language']) or "eng" + description.text = tval + +# https://guidelines.openaire.eu/en/latest/data/field_language.html +# eng + tval = util.getqattr(result, context.md_core_model['mappings']['pycsw:Language']) + if tval not in [None, '']: + format = etree.SubElement(node, util.nspath_eval('Language', NAMESPACES)) + format.text = tval + +# https://guidelines.openaire.eu/en/latest/data/field_version.html?highlight=version +# 1.0 + tval = util.getqattr(result, context.md_core_model['mappings']['pycsw:Edition']) + if tval not in [None, '']: + format = etree.SubElement(node, util.nspath_eval('version', NAMESPACES)) + format.text = tval + +# https://guidelines.openaire.eu/en/latest/data/field_format.html +# PDF + tval = util.getqattr(result, context.md_core_model['mappings']['pycsw:Format']) + if tval not in [None, '']: + formats = etree.SubElement(node, util.nspath_eval('formats', NAMESPACES)) + format = etree.SubElement(formats, util.nspath_eval('format', NAMESPACES)) + format.text = tval + +# example + rights = etree.SubElement(node, util.nspath_eval('rightsList', NAMESPACES)) + for r in ["AccessConstraints","OtherConstraints","Classification","ConditionApplyingToAccessAndUse"]: + rval = util.getqattr(result, context.md_core_model['mappings']['pycsw:'+r]) + if rval not in [None, '']: + right = etree.SubElement(rights, util.nspath_eval('rights', NAMESPACES)) + if rval.startswith('http'): + right.attrib['rightsURI'] = rval + right.text = r+':'+rval + +# + +# "IsCitedBy","Cites","IsSupplementTo","IsSupplementedBy","IsContinuedBy","Continues","IsNewVersionOf","IsPreviousVersionOf","IsPartOf","HasPart","IsPublishedIn","IsReferencedBy","References","IsDocumentedBy","Documents","IsCompiledBy","Compiles","IsVariantFormOf","IsOriginalFormOf","IsIdenticalTo","HasMetadata","IsMetadataFor","Reviews","IsReviewedBy","IsDerivedFrom","IsSourceOf","Describes","IsDescribedBy","HasVersion","IsVersionOf","Requires","IsRequiredBy","Obsoletes","IsObsoletedBy" +# doi:1234 + +# alternateIdentifiers/alternateIdentifier/@alternateIdentifierType + +# Since Datacite is a metadata format related to the DOI to access a piece of content, the schema does not include a link to the actual file +# although internally Datacite uses a property `contentUrl`, suggestion to add links to content in the same way + rval = util.getqattr(result, context.md_core_model['mappings']['pycsw:Links']) + if rval not in [None, '', 'null']: + try: + for lnk in json.loads(rval): + try: + if lnk.get('url', '').startswith('http'): + ct = etree.SubElement(node, util.nspath_eval('contentUrl', NAMESPACES)) + ct.text = lnk.get('url') + except Exception as err: + LOGGER.exception(f"failed to parse link of {rval}: {err}") + except Exception as err: + LOGGER.exception(f"failed to parse links json of {lnk}: {err}") + +# 41.090application/xml + http://datacite.org/schema/kernel-4 http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ http://www.interlis.ch/INTERLIS2.3 http://www.isotc211.org/2005/gmd @@ -234,6 +235,7 @@ application/xml + http://datacite.org/schema/kernel-4 http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ http://www.interlis.ch/INTERLIS2.3 http://www.isotc211.org/2005/gmd diff --git a/tests/functionaltests/suites/apiso-inspire/expected/get_GetCapabilities.xml b/tests/functionaltests/suites/apiso-inspire/expected/get_GetCapabilities.xml index a496992a2..0c3d30c94 100644 --- a/tests/functionaltests/suites/apiso-inspire/expected/get_GetCapabilities.xml +++ b/tests/functionaltests/suites/apiso-inspire/expected/get_GetCapabilities.xml @@ -121,6 +121,7 @@ application/xml + http://datacite.org/schema/kernel-4 http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ http://www.interlis.ch/INTERLIS2.3 http://www.isotc211.org/2005/gmd @@ -234,6 +235,7 @@ application/xml + http://datacite.org/schema/kernel-4 http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ http://www.interlis.ch/INTERLIS2.3 http://www.isotc211.org/2005/gmd diff --git a/tests/functionaltests/suites/apiso/expected/post_GetCapabilities.xml b/tests/functionaltests/suites/apiso/expected/post_GetCapabilities.xml index 6b47cff86..e37407e55 100644 --- a/tests/functionaltests/suites/apiso/expected/post_GetCapabilities.xml +++ b/tests/functionaltests/suites/apiso/expected/post_GetCapabilities.xml @@ -121,6 +121,7 @@ application/xml + http://datacite.org/schema/kernel-4 http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ http://www.interlis.ch/INTERLIS2.3 http://www.isotc211.org/2005/gmd @@ -234,6 +235,7 @@ application/xml + http://datacite.org/schema/kernel-4 http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ http://www.interlis.ch/INTERLIS2.3 http://www.isotc211.org/2005/gmd diff --git a/tests/functionaltests/suites/atom/expected/post_GetCapabilities.xml b/tests/functionaltests/suites/atom/expected/post_GetCapabilities.xml index d98f55dc2..aa3195f8e 100644 --- a/tests/functionaltests/suites/atom/expected/post_GetCapabilities.xml +++ b/tests/functionaltests/suites/atom/expected/post_GetCapabilities.xml @@ -120,6 +120,7 @@ application/xml + http://datacite.org/schema/kernel-4 http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ http://www.interlis.ch/INTERLIS2.3 http://www.opengis.net/cat/csw/2.0.2 @@ -173,6 +174,7 @@ application/xml + http://datacite.org/schema/kernel-4 http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ http://www.interlis.ch/INTERLIS2.3 http://www.opengis.net/cat/csw/2.0.2 diff --git a/tests/functionaltests/suites/cite/expected/get_27e17158-c57a-4493-92ac-dba8934cf462.xml b/tests/functionaltests/suites/cite/expected/get_27e17158-c57a-4493-92ac-dba8934cf462.xml index e941acf16..0856ec187 100644 --- a/tests/functionaltests/suites/cite/expected/get_27e17158-c57a-4493-92ac-dba8934cf462.xml +++ b/tests/functionaltests/suites/cite/expected/get_27e17158-c57a-4493-92ac-dba8934cf462.xml @@ -122,6 +122,7 @@ application/xml + http://datacite.org/schema/kernel-4 http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ http://www.interlis.ch/INTERLIS2.3 http://www.opengis.net/cat/csw/2.0.2 @@ -175,6 +176,7 @@ application/xml + http://datacite.org/schema/kernel-4 http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ http://www.interlis.ch/INTERLIS2.3 http://www.opengis.net/cat/csw/2.0.2 @@ -217,6 +219,7 @@ + http://datacite.org/schema/kernel-4 http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ http://www.interlis.ch/INTERLIS2.3 http://www.isotc211.org/2005/gmi diff --git a/tests/functionaltests/suites/cite/expected/get_2ab7d1fa-885b-459f-80e4-b6282eab4f8c.xml b/tests/functionaltests/suites/cite/expected/get_2ab7d1fa-885b-459f-80e4-b6282eab4f8c.xml index e941acf16..0856ec187 100644 --- a/tests/functionaltests/suites/cite/expected/get_2ab7d1fa-885b-459f-80e4-b6282eab4f8c.xml +++ b/tests/functionaltests/suites/cite/expected/get_2ab7d1fa-885b-459f-80e4-b6282eab4f8c.xml @@ -122,6 +122,7 @@ application/xml + http://datacite.org/schema/kernel-4 http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ http://www.interlis.ch/INTERLIS2.3 http://www.opengis.net/cat/csw/2.0.2 @@ -175,6 +176,7 @@ application/xml + http://datacite.org/schema/kernel-4 http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ http://www.interlis.ch/INTERLIS2.3 http://www.opengis.net/cat/csw/2.0.2 @@ -217,6 +219,7 @@ + http://datacite.org/schema/kernel-4 http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ http://www.interlis.ch/INTERLIS2.3 http://www.isotc211.org/2005/gmi diff --git a/tests/functionaltests/suites/cite/expected/get_477b23a3-baa9-47c8-9541-5fe27735ed49.xml b/tests/functionaltests/suites/cite/expected/get_477b23a3-baa9-47c8-9541-5fe27735ed49.xml index 4371e9737..04fcf4b2b 100644 --- a/tests/functionaltests/suites/cite/expected/get_477b23a3-baa9-47c8-9541-5fe27735ed49.xml +++ b/tests/functionaltests/suites/cite/expected/get_477b23a3-baa9-47c8-9541-5fe27735ed49.xml @@ -125,6 +125,7 @@ + http://datacite.org/schema/kernel-4 http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ http://www.interlis.ch/INTERLIS2.3 http://www.opengis.net/cat/csw/3.0 @@ -177,6 +178,7 @@ + http://datacite.org/schema/kernel-4 http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ http://www.interlis.ch/INTERLIS2.3 http://www.opengis.net/cat/csw/3.0 @@ -223,6 +225,7 @@ + http://datacite.org/schema/kernel-4 http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ http://www.interlis.ch/INTERLIS2.3 http://www.isotc211.org/2005/gmi diff --git a/tests/functionaltests/suites/cite/expected/get_48f26761-3a9d-48db-bee1-da089f5fb857.xml b/tests/functionaltests/suites/cite/expected/get_48f26761-3a9d-48db-bee1-da089f5fb857.xml index e941acf16..0856ec187 100644 --- a/tests/functionaltests/suites/cite/expected/get_48f26761-3a9d-48db-bee1-da089f5fb857.xml +++ b/tests/functionaltests/suites/cite/expected/get_48f26761-3a9d-48db-bee1-da089f5fb857.xml @@ -122,6 +122,7 @@ application/xml + http://datacite.org/schema/kernel-4 http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ http://www.interlis.ch/INTERLIS2.3 http://www.opengis.net/cat/csw/2.0.2 @@ -175,6 +176,7 @@ application/xml + http://datacite.org/schema/kernel-4 http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ http://www.interlis.ch/INTERLIS2.3 http://www.opengis.net/cat/csw/2.0.2 @@ -217,6 +219,7 @@ + http://datacite.org/schema/kernel-4 http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ http://www.interlis.ch/INTERLIS2.3 http://www.isotc211.org/2005/gmi diff --git a/tests/functionaltests/suites/cite/expected/get_55c38f00-2553-42c1-99ab-33edbb561ad7.xml b/tests/functionaltests/suites/cite/expected/get_55c38f00-2553-42c1-99ab-33edbb561ad7.xml index 791da4c35..d4976e1c6 100644 --- a/tests/functionaltests/suites/cite/expected/get_55c38f00-2553-42c1-99ab-33edbb561ad7.xml +++ b/tests/functionaltests/suites/cite/expected/get_55c38f00-2553-42c1-99ab-33edbb561ad7.xml @@ -99,6 +99,7 @@ + http://datacite.org/schema/kernel-4 http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ http://www.interlis.ch/INTERLIS2.3 http://www.opengis.net/cat/csw/3.0 @@ -151,6 +152,7 @@ + http://datacite.org/schema/kernel-4 http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ http://www.interlis.ch/INTERLIS2.3 http://www.opengis.net/cat/csw/3.0 @@ -197,6 +199,7 @@ + http://datacite.org/schema/kernel-4 http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ http://www.interlis.ch/INTERLIS2.3 http://www.isotc211.org/2005/gmi diff --git a/tests/functionaltests/suites/cite/expected/get_80f31def-4185-48b9-983a-960566918eae.xml b/tests/functionaltests/suites/cite/expected/get_80f31def-4185-48b9-983a-960566918eae.xml index 4371e9737..04fcf4b2b 100644 --- a/tests/functionaltests/suites/cite/expected/get_80f31def-4185-48b9-983a-960566918eae.xml +++ b/tests/functionaltests/suites/cite/expected/get_80f31def-4185-48b9-983a-960566918eae.xml @@ -125,6 +125,7 @@ + http://datacite.org/schema/kernel-4 http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ http://www.interlis.ch/INTERLIS2.3 http://www.opengis.net/cat/csw/3.0 @@ -177,6 +178,7 @@ + http://datacite.org/schema/kernel-4 http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ http://www.interlis.ch/INTERLIS2.3 http://www.opengis.net/cat/csw/3.0 @@ -223,6 +225,7 @@ + http://datacite.org/schema/kernel-4 http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ http://www.interlis.ch/INTERLIS2.3 http://www.isotc211.org/2005/gmi diff --git a/tests/functionaltests/suites/cite/expected/get_9697f0aa-3b6a-4125-83a5-61e8826127c4.xml b/tests/functionaltests/suites/cite/expected/get_9697f0aa-3b6a-4125-83a5-61e8826127c4.xml index 4371e9737..04fcf4b2b 100644 --- a/tests/functionaltests/suites/cite/expected/get_9697f0aa-3b6a-4125-83a5-61e8826127c4.xml +++ b/tests/functionaltests/suites/cite/expected/get_9697f0aa-3b6a-4125-83a5-61e8826127c4.xml @@ -125,6 +125,7 @@ + http://datacite.org/schema/kernel-4 http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ http://www.interlis.ch/INTERLIS2.3 http://www.opengis.net/cat/csw/3.0 @@ -177,6 +178,7 @@ + http://datacite.org/schema/kernel-4 http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ http://www.interlis.ch/INTERLIS2.3 http://www.opengis.net/cat/csw/3.0 @@ -223,6 +225,7 @@ + http://datacite.org/schema/kernel-4 http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ http://www.interlis.ch/INTERLIS2.3 http://www.isotc211.org/2005/gmi diff --git a/tests/functionaltests/suites/cite/expected/get_ba5fc729-3b71-47a0-b7d0-42ec565cd185.xml b/tests/functionaltests/suites/cite/expected/get_ba5fc729-3b71-47a0-b7d0-42ec565cd185.xml index e941acf16..0856ec187 100644 --- a/tests/functionaltests/suites/cite/expected/get_ba5fc729-3b71-47a0-b7d0-42ec565cd185.xml +++ b/tests/functionaltests/suites/cite/expected/get_ba5fc729-3b71-47a0-b7d0-42ec565cd185.xml @@ -122,6 +122,7 @@ application/xml + http://datacite.org/schema/kernel-4 http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ http://www.interlis.ch/INTERLIS2.3 http://www.opengis.net/cat/csw/2.0.2 @@ -175,6 +176,7 @@ application/xml + http://datacite.org/schema/kernel-4 http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ http://www.interlis.ch/INTERLIS2.3 http://www.opengis.net/cat/csw/2.0.2 @@ -217,6 +219,7 @@ + http://datacite.org/schema/kernel-4 http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ http://www.interlis.ch/INTERLIS2.3 http://www.isotc211.org/2005/gmi diff --git a/tests/functionaltests/suites/cite/expected/get_f4692ec5-9547-4a05-88ab-e6154af2640a.xml b/tests/functionaltests/suites/cite/expected/get_f4692ec5-9547-4a05-88ab-e6154af2640a.xml index e941acf16..0856ec187 100644 --- a/tests/functionaltests/suites/cite/expected/get_f4692ec5-9547-4a05-88ab-e6154af2640a.xml +++ b/tests/functionaltests/suites/cite/expected/get_f4692ec5-9547-4a05-88ab-e6154af2640a.xml @@ -122,6 +122,7 @@ application/xml + http://datacite.org/schema/kernel-4 http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ http://www.interlis.ch/INTERLIS2.3 http://www.opengis.net/cat/csw/2.0.2 @@ -175,6 +176,7 @@ application/xml + http://datacite.org/schema/kernel-4 http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ http://www.interlis.ch/INTERLIS2.3 http://www.opengis.net/cat/csw/2.0.2 @@ -217,6 +219,7 @@ + http://datacite.org/schema/kernel-4 http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ http://www.interlis.ch/INTERLIS2.3 http://www.isotc211.org/2005/gmi diff --git a/tests/functionaltests/suites/csw30/expected/get_0bdf8457-971e-4ed1-be4a-5feca4dcd8fa.xml b/tests/functionaltests/suites/csw30/expected/get_0bdf8457-971e-4ed1-be4a-5feca4dcd8fa.xml index 5116444c8..8a73b2da9 100644 --- a/tests/functionaltests/suites/csw30/expected/get_0bdf8457-971e-4ed1-be4a-5feca4dcd8fa.xml +++ b/tests/functionaltests/suites/csw30/expected/get_0bdf8457-971e-4ed1-be4a-5feca4dcd8fa.xml @@ -123,6 +123,7 @@ + http://datacite.org/schema/kernel-4 http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ http://www.interlis.ch/INTERLIS2.3 http://www.opengis.net/cat/csw/3.0 @@ -175,6 +176,7 @@ + http://datacite.org/schema/kernel-4 http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ http://www.interlis.ch/INTERLIS2.3 http://www.opengis.net/cat/csw/3.0 diff --git a/tests/functionaltests/suites/csw30/expected/get_22f44168-2ccf-4801-ad96-204212566d56.xml b/tests/functionaltests/suites/csw30/expected/get_22f44168-2ccf-4801-ad96-204212566d56.xml index 5116444c8..8a73b2da9 100644 --- a/tests/functionaltests/suites/csw30/expected/get_22f44168-2ccf-4801-ad96-204212566d56.xml +++ b/tests/functionaltests/suites/csw30/expected/get_22f44168-2ccf-4801-ad96-204212566d56.xml @@ -123,6 +123,7 @@ + http://datacite.org/schema/kernel-4 http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ http://www.interlis.ch/INTERLIS2.3 http://www.opengis.net/cat/csw/3.0 @@ -175,6 +176,7 @@ + http://datacite.org/schema/kernel-4 http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ http://www.interlis.ch/INTERLIS2.3 http://www.opengis.net/cat/csw/3.0 diff --git a/tests/functionaltests/suites/csw30/expected/get_2499a9c9-8d33-449c-bc92-d494adfcc84d.xml b/tests/functionaltests/suites/csw30/expected/get_2499a9c9-8d33-449c-bc92-d494adfcc84d.xml index 5116444c8..8a73b2da9 100644 --- a/tests/functionaltests/suites/csw30/expected/get_2499a9c9-8d33-449c-bc92-d494adfcc84d.xml +++ b/tests/functionaltests/suites/csw30/expected/get_2499a9c9-8d33-449c-bc92-d494adfcc84d.xml @@ -123,6 +123,7 @@ + http://datacite.org/schema/kernel-4 http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ http://www.interlis.ch/INTERLIS2.3 http://www.opengis.net/cat/csw/3.0 @@ -175,6 +176,7 @@ + http://datacite.org/schema/kernel-4 http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ http://www.interlis.ch/INTERLIS2.3 http://www.opengis.net/cat/csw/3.0 diff --git a/tests/functionaltests/suites/csw30/expected/get_27f4f39c-d92a-4e3c-b961-c6aa8c24e513.xml b/tests/functionaltests/suites/csw30/expected/get_27f4f39c-d92a-4e3c-b961-c6aa8c24e513.xml index 5116444c8..8a73b2da9 100644 --- a/tests/functionaltests/suites/csw30/expected/get_27f4f39c-d92a-4e3c-b961-c6aa8c24e513.xml +++ b/tests/functionaltests/suites/csw30/expected/get_27f4f39c-d92a-4e3c-b961-c6aa8c24e513.xml @@ -123,6 +123,7 @@ + http://datacite.org/schema/kernel-4 http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ http://www.interlis.ch/INTERLIS2.3 http://www.opengis.net/cat/csw/3.0 @@ -175,6 +176,7 @@ + http://datacite.org/schema/kernel-4 http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ http://www.interlis.ch/INTERLIS2.3 http://www.opengis.net/cat/csw/3.0 diff --git a/tests/functionaltests/suites/csw30/expected/get_2b06a5c8-0df2-4af1-8d2e-a425de11c845.xml b/tests/functionaltests/suites/csw30/expected/get_2b06a5c8-0df2-4af1-8d2e-a425de11c845.xml index 5116444c8..8a73b2da9 100644 --- a/tests/functionaltests/suites/csw30/expected/get_2b06a5c8-0df2-4af1-8d2e-a425de11c845.xml +++ b/tests/functionaltests/suites/csw30/expected/get_2b06a5c8-0df2-4af1-8d2e-a425de11c845.xml @@ -123,6 +123,7 @@ + http://datacite.org/schema/kernel-4 http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ http://www.interlis.ch/INTERLIS2.3 http://www.opengis.net/cat/csw/3.0 @@ -175,6 +176,7 @@ + http://datacite.org/schema/kernel-4 http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ http://www.interlis.ch/INTERLIS2.3 http://www.opengis.net/cat/csw/3.0 diff --git a/tests/functionaltests/suites/csw30/expected/get_43cd6471-6ac7-45bd-8ff9-148cb2de9a52.xml b/tests/functionaltests/suites/csw30/expected/get_43cd6471-6ac7-45bd-8ff9-148cb2de9a52.xml index 5116444c8..8a73b2da9 100644 --- a/tests/functionaltests/suites/csw30/expected/get_43cd6471-6ac7-45bd-8ff9-148cb2de9a52.xml +++ b/tests/functionaltests/suites/csw30/expected/get_43cd6471-6ac7-45bd-8ff9-148cb2de9a52.xml @@ -123,6 +123,7 @@ + http://datacite.org/schema/kernel-4 http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ http://www.interlis.ch/INTERLIS2.3 http://www.opengis.net/cat/csw/3.0 @@ -175,6 +176,7 @@ + http://datacite.org/schema/kernel-4 http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ http://www.interlis.ch/INTERLIS2.3 http://www.opengis.net/cat/csw/3.0 diff --git a/tests/functionaltests/suites/csw30/expected/get_5e9e67dc-18d6-4645-8111-c6263c88a61f.xml b/tests/functionaltests/suites/csw30/expected/get_5e9e67dc-18d6-4645-8111-c6263c88a61f.xml index 8d4052ce6..0c5464f17 100644 --- a/tests/functionaltests/suites/csw30/expected/get_5e9e67dc-18d6-4645-8111-c6263c88a61f.xml +++ b/tests/functionaltests/suites/csw30/expected/get_5e9e67dc-18d6-4645-8111-c6263c88a61f.xml @@ -83,6 +83,7 @@ + http://datacite.org/schema/kernel-4 http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ http://www.interlis.ch/INTERLIS2.3 http://www.opengis.net/cat/csw/3.0 @@ -135,6 +136,7 @@ + http://datacite.org/schema/kernel-4 http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ http://www.interlis.ch/INTERLIS2.3 http://www.opengis.net/cat/csw/3.0 diff --git a/tests/functionaltests/suites/csw30/expected/get_6a9d0558-9d87-495b-b999-b49a3ef1cf99.xml b/tests/functionaltests/suites/csw30/expected/get_6a9d0558-9d87-495b-b999-b49a3ef1cf99.xml index 5116444c8..8a73b2da9 100644 --- a/tests/functionaltests/suites/csw30/expected/get_6a9d0558-9d87-495b-b999-b49a3ef1cf99.xml +++ b/tests/functionaltests/suites/csw30/expected/get_6a9d0558-9d87-495b-b999-b49a3ef1cf99.xml @@ -123,6 +123,7 @@ + http://datacite.org/schema/kernel-4 http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ http://www.interlis.ch/INTERLIS2.3 http://www.opengis.net/cat/csw/3.0 @@ -175,6 +176,7 @@ + http://datacite.org/schema/kernel-4 http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ http://www.interlis.ch/INTERLIS2.3 http://www.opengis.net/cat/csw/3.0 diff --git a/tests/functionaltests/suites/csw30/expected/get_6e9cba43-5e27-415d-adbd-a92851c2c173.xml b/tests/functionaltests/suites/csw30/expected/get_6e9cba43-5e27-415d-adbd-a92851c2c173.xml index 5116444c8..8a73b2da9 100644 --- a/tests/functionaltests/suites/csw30/expected/get_6e9cba43-5e27-415d-adbd-a92851c2c173.xml +++ b/tests/functionaltests/suites/csw30/expected/get_6e9cba43-5e27-415d-adbd-a92851c2c173.xml @@ -123,6 +123,7 @@ + http://datacite.org/schema/kernel-4 http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ http://www.interlis.ch/INTERLIS2.3 http://www.opengis.net/cat/csw/3.0 @@ -175,6 +176,7 @@ + http://datacite.org/schema/kernel-4 http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ http://www.interlis.ch/INTERLIS2.3 http://www.opengis.net/cat/csw/3.0 diff --git a/tests/functionaltests/suites/csw30/expected/get_7e82446a-b5dc-43fe-9a73-4cc1f2f2f0bf.xml b/tests/functionaltests/suites/csw30/expected/get_7e82446a-b5dc-43fe-9a73-4cc1f2f2f0bf.xml index 5116444c8..8a73b2da9 100644 --- a/tests/functionaltests/suites/csw30/expected/get_7e82446a-b5dc-43fe-9a73-4cc1f2f2f0bf.xml +++ b/tests/functionaltests/suites/csw30/expected/get_7e82446a-b5dc-43fe-9a73-4cc1f2f2f0bf.xml @@ -123,6 +123,7 @@ + http://datacite.org/schema/kernel-4 http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ http://www.interlis.ch/INTERLIS2.3 http://www.opengis.net/cat/csw/3.0 @@ -175,6 +176,7 @@ + http://datacite.org/schema/kernel-4 http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ http://www.interlis.ch/INTERLIS2.3 http://www.opengis.net/cat/csw/3.0 diff --git a/tests/functionaltests/suites/csw30/expected/get_8025978e-1a35-4d70-80c2-e8329e0c7864.xml b/tests/functionaltests/suites/csw30/expected/get_8025978e-1a35-4d70-80c2-e8329e0c7864.xml index 5116444c8..8a73b2da9 100644 --- a/tests/functionaltests/suites/csw30/expected/get_8025978e-1a35-4d70-80c2-e8329e0c7864.xml +++ b/tests/functionaltests/suites/csw30/expected/get_8025978e-1a35-4d70-80c2-e8329e0c7864.xml @@ -123,6 +123,7 @@ + http://datacite.org/schema/kernel-4 http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ http://www.interlis.ch/INTERLIS2.3 http://www.opengis.net/cat/csw/3.0 @@ -175,6 +176,7 @@ + http://datacite.org/schema/kernel-4 http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ http://www.interlis.ch/INTERLIS2.3 http://www.opengis.net/cat/csw/3.0 diff --git a/tests/functionaltests/suites/csw30/expected/get_GetCapabilities-base-url.xml b/tests/functionaltests/suites/csw30/expected/get_GetCapabilities-base-url.xml index 5116444c8..8a73b2da9 100644 --- a/tests/functionaltests/suites/csw30/expected/get_GetCapabilities-base-url.xml +++ b/tests/functionaltests/suites/csw30/expected/get_GetCapabilities-base-url.xml @@ -123,6 +123,7 @@ + http://datacite.org/schema/kernel-4 http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ http://www.interlis.ch/INTERLIS2.3 http://www.opengis.net/cat/csw/3.0 @@ -175,6 +176,7 @@ + http://datacite.org/schema/kernel-4 http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ http://www.interlis.ch/INTERLIS2.3 http://www.opengis.net/cat/csw/3.0 diff --git a/tests/functionaltests/suites/csw30/expected/get_GetCapabilities-no-version.xml b/tests/functionaltests/suites/csw30/expected/get_GetCapabilities-no-version.xml index 5116444c8..8a73b2da9 100644 --- a/tests/functionaltests/suites/csw30/expected/get_GetCapabilities-no-version.xml +++ b/tests/functionaltests/suites/csw30/expected/get_GetCapabilities-no-version.xml @@ -123,6 +123,7 @@ + http://datacite.org/schema/kernel-4 http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ http://www.interlis.ch/INTERLIS2.3 http://www.opengis.net/cat/csw/3.0 @@ -175,6 +176,7 @@ + http://datacite.org/schema/kernel-4 http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ http://www.interlis.ch/INTERLIS2.3 http://www.opengis.net/cat/csw/3.0 diff --git a/tests/functionaltests/suites/csw30/expected/get_GetCapabilities.xml b/tests/functionaltests/suites/csw30/expected/get_GetCapabilities.xml index 5116444c8..8a73b2da9 100644 --- a/tests/functionaltests/suites/csw30/expected/get_GetCapabilities.xml +++ b/tests/functionaltests/suites/csw30/expected/get_GetCapabilities.xml @@ -123,6 +123,7 @@ + http://datacite.org/schema/kernel-4 http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ http://www.interlis.ch/INTERLIS2.3 http://www.opengis.net/cat/csw/3.0 @@ -175,6 +176,7 @@ + http://datacite.org/schema/kernel-4 http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ http://www.interlis.ch/INTERLIS2.3 http://www.opengis.net/cat/csw/3.0 diff --git a/tests/functionaltests/suites/csw30/expected/get_c03d173a-3f42-4956-89c8-1fe02c3a0873.xml b/tests/functionaltests/suites/csw30/expected/get_c03d173a-3f42-4956-89c8-1fe02c3a0873.xml index 5116444c8..8a73b2da9 100644 --- a/tests/functionaltests/suites/csw30/expected/get_c03d173a-3f42-4956-89c8-1fe02c3a0873.xml +++ b/tests/functionaltests/suites/csw30/expected/get_c03d173a-3f42-4956-89c8-1fe02c3a0873.xml @@ -123,6 +123,7 @@ + http://datacite.org/schema/kernel-4 http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ http://www.interlis.ch/INTERLIS2.3 http://www.opengis.net/cat/csw/3.0 @@ -175,6 +176,7 @@ + http://datacite.org/schema/kernel-4 http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ http://www.interlis.ch/INTERLIS2.3 http://www.opengis.net/cat/csw/3.0 diff --git a/tests/functionaltests/suites/csw30/expected/get_e67ca935-d65d-4d8c-8302-1405333dded0.xml b/tests/functionaltests/suites/csw30/expected/get_e67ca935-d65d-4d8c-8302-1405333dded0.xml index 5116444c8..8a73b2da9 100644 --- a/tests/functionaltests/suites/csw30/expected/get_e67ca935-d65d-4d8c-8302-1405333dded0.xml +++ b/tests/functionaltests/suites/csw30/expected/get_e67ca935-d65d-4d8c-8302-1405333dded0.xml @@ -123,6 +123,7 @@ + http://datacite.org/schema/kernel-4 http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ http://www.interlis.ch/INTERLIS2.3 http://www.opengis.net/cat/csw/3.0 @@ -175,6 +176,7 @@ + http://datacite.org/schema/kernel-4 http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ http://www.interlis.ch/INTERLIS2.3 http://www.opengis.net/cat/csw/3.0 diff --git a/tests/functionaltests/suites/csw30/expected/post_GetCapabilities.xml b/tests/functionaltests/suites/csw30/expected/post_GetCapabilities.xml index 5116444c8..8a73b2da9 100644 --- a/tests/functionaltests/suites/csw30/expected/post_GetCapabilities.xml +++ b/tests/functionaltests/suites/csw30/expected/post_GetCapabilities.xml @@ -123,6 +123,7 @@ + http://datacite.org/schema/kernel-4 http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ http://www.interlis.ch/INTERLIS2.3 http://www.opengis.net/cat/csw/3.0 @@ -175,6 +176,7 @@ + http://datacite.org/schema/kernel-4 http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ http://www.interlis.ch/INTERLIS2.3 http://www.opengis.net/cat/csw/3.0 diff --git a/tests/functionaltests/suites/default/expected/get_GetCapabilities.xml b/tests/functionaltests/suites/default/expected/get_GetCapabilities.xml index ff712da5c..440216104 100644 --- a/tests/functionaltests/suites/default/expected/get_GetCapabilities.xml +++ b/tests/functionaltests/suites/default/expected/get_GetCapabilities.xml @@ -120,6 +120,7 @@ application/xml + http://datacite.org/schema/kernel-4 http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ http://www.interlis.ch/INTERLIS2.3 http://www.opengis.net/cat/csw/2.0.2 @@ -173,6 +174,7 @@ application/xml + http://datacite.org/schema/kernel-4 http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ http://www.interlis.ch/INTERLIS2.3 http://www.opengis.net/cat/csw/2.0.2 diff --git a/tests/functionaltests/suites/default/expected/post_GetCapabilities-SOAP.xml b/tests/functionaltests/suites/default/expected/post_GetCapabilities-SOAP.xml index f548e30b9..0cb2313b5 100644 --- a/tests/functionaltests/suites/default/expected/post_GetCapabilities-SOAP.xml +++ b/tests/functionaltests/suites/default/expected/post_GetCapabilities-SOAP.xml @@ -122,6 +122,7 @@ application/xml + http://datacite.org/schema/kernel-4 http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ http://www.interlis.ch/INTERLIS2.3 http://www.opengis.net/cat/csw/2.0.2 @@ -175,6 +176,7 @@ application/xml + http://datacite.org/schema/kernel-4 http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ http://www.interlis.ch/INTERLIS2.3 http://www.opengis.net/cat/csw/2.0.2 diff --git a/tests/functionaltests/suites/default/expected/post_GetCapabilities-updatesequence.xml b/tests/functionaltests/suites/default/expected/post_GetCapabilities-updatesequence.xml index ff712da5c..440216104 100644 --- a/tests/functionaltests/suites/default/expected/post_GetCapabilities-updatesequence.xml +++ b/tests/functionaltests/suites/default/expected/post_GetCapabilities-updatesequence.xml @@ -120,6 +120,7 @@ application/xml + http://datacite.org/schema/kernel-4 http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ http://www.interlis.ch/INTERLIS2.3 http://www.opengis.net/cat/csw/2.0.2 @@ -173,6 +174,7 @@ application/xml + http://datacite.org/schema/kernel-4 http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ http://www.interlis.ch/INTERLIS2.3 http://www.opengis.net/cat/csw/2.0.2 diff --git a/tests/functionaltests/suites/default/expected/post_GetCapabilities.xml b/tests/functionaltests/suites/default/expected/post_GetCapabilities.xml index ff712da5c..440216104 100644 --- a/tests/functionaltests/suites/default/expected/post_GetCapabilities.xml +++ b/tests/functionaltests/suites/default/expected/post_GetCapabilities.xml @@ -120,6 +120,7 @@ application/xml + http://datacite.org/schema/kernel-4 http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ http://www.interlis.ch/INTERLIS2.3 http://www.opengis.net/cat/csw/2.0.2 @@ -173,6 +174,7 @@ application/xml + http://datacite.org/schema/kernel-4 http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ http://www.interlis.ch/INTERLIS2.3 http://www.opengis.net/cat/csw/2.0.2 diff --git a/tests/functionaltests/suites/dif/expected/post_GetCapabilities.xml b/tests/functionaltests/suites/dif/expected/post_GetCapabilities.xml index 7d24c6ded..8ff0c25df 100644 --- a/tests/functionaltests/suites/dif/expected/post_GetCapabilities.xml +++ b/tests/functionaltests/suites/dif/expected/post_GetCapabilities.xml @@ -120,6 +120,7 @@ application/xml + http://datacite.org/schema/kernel-4 http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ http://www.interlis.ch/INTERLIS2.3 http://www.opengis.net/cat/csw/2.0.2 @@ -173,6 +174,7 @@ application/xml + http://datacite.org/schema/kernel-4 http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ http://www.interlis.ch/INTERLIS2.3 http://www.opengis.net/cat/csw/2.0.2 diff --git a/tests/functionaltests/suites/duplicatefileid/expected/get_GetCapabilities.xml b/tests/functionaltests/suites/duplicatefileid/expected/get_GetCapabilities.xml index ef3d9babf..bd29d6dbb 100644 --- a/tests/functionaltests/suites/duplicatefileid/expected/get_GetCapabilities.xml +++ b/tests/functionaltests/suites/duplicatefileid/expected/get_GetCapabilities.xml @@ -120,6 +120,7 @@ application/xml + http://datacite.org/schema/kernel-4 http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ http://www.interlis.ch/INTERLIS2.3 http://www.opengis.net/cat/csw/2.0.2 @@ -173,6 +174,7 @@ application/xml + http://datacite.org/schema/kernel-4 http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ http://www.interlis.ch/INTERLIS2.3 http://www.opengis.net/cat/csw/2.0.2 diff --git a/tests/functionaltests/suites/ebrim/expected/post_GetCapabilities.xml b/tests/functionaltests/suites/ebrim/expected/post_GetCapabilities.xml index 03f69de1b..b1e1dc3d7 100644 --- a/tests/functionaltests/suites/ebrim/expected/post_GetCapabilities.xml +++ b/tests/functionaltests/suites/ebrim/expected/post_GetCapabilities.xml @@ -121,6 +121,7 @@ application/xml + http://datacite.org/schema/kernel-4 http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ http://www.interlis.ch/INTERLIS2.3 http://www.opengis.net/cat/csw/2.0.2 @@ -176,6 +177,7 @@ application/xml + http://datacite.org/schema/kernel-4 http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ http://www.interlis.ch/INTERLIS2.3 http://www.opengis.net/cat/csw/2.0.2 diff --git a/tests/functionaltests/suites/fgdc/expected/post_GetCapabilities.xml b/tests/functionaltests/suites/fgdc/expected/post_GetCapabilities.xml index 8bfb671c7..a0231b520 100644 --- a/tests/functionaltests/suites/fgdc/expected/post_GetCapabilities.xml +++ b/tests/functionaltests/suites/fgdc/expected/post_GetCapabilities.xml @@ -120,6 +120,7 @@ application/xml + http://datacite.org/schema/kernel-4 http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ http://www.interlis.ch/INTERLIS2.3 http://www.opengis.net/cat/csw/2.0.2 @@ -173,6 +174,7 @@ application/xml + http://datacite.org/schema/kernel-4 http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ http://www.interlis.ch/INTERLIS2.3 http://www.opengis.net/cat/csw/2.0.2 diff --git a/tests/functionaltests/suites/gm03/expected/post_GetCapabilities.xml b/tests/functionaltests/suites/gm03/expected/post_GetCapabilities.xml index 6e6ded9fa..e60a5fc4a 100644 --- a/tests/functionaltests/suites/gm03/expected/post_GetCapabilities.xml +++ b/tests/functionaltests/suites/gm03/expected/post_GetCapabilities.xml @@ -120,6 +120,7 @@ application/xml + http://datacite.org/schema/kernel-4 http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ http://www.interlis.ch/INTERLIS2.3 http://www.opengis.net/cat/csw/2.0.2 @@ -173,6 +174,7 @@ application/xml + http://datacite.org/schema/kernel-4 http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ http://www.interlis.ch/INTERLIS2.3 http://www.opengis.net/cat/csw/2.0.2 diff --git a/tests/functionaltests/suites/harvesting/expected/post_GetCapabilities.xml b/tests/functionaltests/suites/harvesting/expected/post_GetCapabilities.xml index 2de6fd222..5560103d5 100644 --- a/tests/functionaltests/suites/harvesting/expected/post_GetCapabilities.xml +++ b/tests/functionaltests/suites/harvesting/expected/post_GetCapabilities.xml @@ -123,6 +123,7 @@ application/xml + http://datacite.org/schema/kernel-4 http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ http://www.interlis.ch/INTERLIS2.3 http://www.isotc211.org/2005/gmd @@ -230,6 +231,7 @@ application/xml + http://datacite.org/schema/kernel-4 http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ http://www.interlis.ch/INTERLIS2.3 http://www.isotc211.org/2005/gmd @@ -273,6 +275,7 @@ + http://datacite.org/schema/kernel-4 http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ http://www.interlis.ch/INTERLIS2.3 http://www.isotc211.org/2005/gmd diff --git a/tests/functionaltests/suites/harvesting/expected/post_GetDomain-parameter.xml b/tests/functionaltests/suites/harvesting/expected/post_GetDomain-parameter.xml index b47402ca2..38ce97819 100644 --- a/tests/functionaltests/suites/harvesting/expected/post_GetDomain-parameter.xml +++ b/tests/functionaltests/suites/harvesting/expected/post_GetDomain-parameter.xml @@ -4,6 +4,7 @@ Harvest.ResourceType + http://datacite.org/schema/kernel-4 http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ http://www.interlis.ch/INTERLIS2.3 http://www.isotc211.org/2005/gmd diff --git a/tests/functionaltests/suites/idswithpaths/expected/get_GetCapabilities.xml b/tests/functionaltests/suites/idswithpaths/expected/get_GetCapabilities.xml index 85de2fba6..6a6f5bca0 100644 --- a/tests/functionaltests/suites/idswithpaths/expected/get_GetCapabilities.xml +++ b/tests/functionaltests/suites/idswithpaths/expected/get_GetCapabilities.xml @@ -120,6 +120,7 @@ application/xml + http://datacite.org/schema/kernel-4 http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ http://www.interlis.ch/INTERLIS2.3 http://www.opengis.net/cat/csw/2.0.2 @@ -173,6 +174,7 @@ application/xml + http://datacite.org/schema/kernel-4 http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ http://www.interlis.ch/INTERLIS2.3 http://www.opengis.net/cat/csw/2.0.2 diff --git a/tests/functionaltests/suites/manager/expected/post_GetCapabilities.xml b/tests/functionaltests/suites/manager/expected/post_GetCapabilities.xml index d5935f0f4..29f3d42e1 100644 --- a/tests/functionaltests/suites/manager/expected/post_GetCapabilities.xml +++ b/tests/functionaltests/suites/manager/expected/post_GetCapabilities.xml @@ -123,6 +123,7 @@ application/xml + http://datacite.org/schema/kernel-4 http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ http://www.interlis.ch/INTERLIS2.3 http://www.isotc211.org/2005/gmd @@ -236,6 +237,7 @@ application/xml + http://datacite.org/schema/kernel-4 http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ http://www.interlis.ch/INTERLIS2.3 http://www.isotc211.org/2005/gmd @@ -279,6 +281,7 @@ + http://datacite.org/schema/kernel-4 http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ http://www.interlis.ch/INTERLIS2.3 http://www.isotc211.org/2005/gmd diff --git a/tests/functionaltests/suites/manager/expected/post_GetDomain-parameter.xml b/tests/functionaltests/suites/manager/expected/post_GetDomain-parameter.xml index 896992017..272b02ade 100644 --- a/tests/functionaltests/suites/manager/expected/post_GetDomain-parameter.xml +++ b/tests/functionaltests/suites/manager/expected/post_GetDomain-parameter.xml @@ -4,6 +4,7 @@ Harvest.ResourceType + http://datacite.org/schema/kernel-4 http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ http://www.interlis.ch/INTERLIS2.3 http://www.isotc211.org/2005/gmd diff --git a/tests/functionaltests/suites/oaipmh/expected/get_GetRecord_datacite.xml b/tests/functionaltests/suites/oaipmh/expected/get_GetRecord_datacite.xml new file mode 100644 index 000000000..598aba230 --- /dev/null +++ b/tests/functionaltests/suites/oaipmh/expected/get_GetRecord_datacite.xml @@ -0,0 +1,39 @@ + + + + PYCSW_TIMESTAMP + http://localhost/pycsw/csw.py?config=tests/functionaltests/suites/oaipmh/default.cfg&mode=oaipmh + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + Image + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + Lorem ipsum + + + Tourism--Greece + + + + + + + + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + image/svg+xml + + + + + + + \ No newline at end of file diff --git a/tests/functionaltests/suites/oaipmh/expected/get_ListIdentifiers_datacite.xml b/tests/functionaltests/suites/oaipmh/expected/get_ListIdentifiers_datacite.xml new file mode 100644 index 000000000..ab7802115 --- /dev/null +++ b/tests/functionaltests/suites/oaipmh/expected/get_ListIdentifiers_datacite.xml @@ -0,0 +1,79 @@ + + + + PYCSW_TIMESTAMP + http://localhost/pycsw/csw.py?config=tests/functionaltests/suites/oaipmh/default.cfg&mode=oaipmh + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + 2006-05-12 + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + 2006-05-12 + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + 2006-05-12 + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + 2006-05-12 + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + 2006-05-12 + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + 2006-05-12 + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + 2006-05-12 + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + 2006-05-12 + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + 2006-05-12 + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + 2006-05-12 + + + + 11 + + \ No newline at end of file diff --git a/tests/functionaltests/suites/oaipmh/expected/get_ListMetadataFormats.xml b/tests/functionaltests/suites/oaipmh/expected/get_ListMetadataFormats.xml index 117a0617f..d0689aef3 100644 --- a/tests/functionaltests/suites/oaipmh/expected/get_ListMetadataFormats.xml +++ b/tests/functionaltests/suites/oaipmh/expected/get_ListMetadataFormats.xml @@ -9,6 +9,11 @@ http://schemas.opengis.net/csw/2.0.2/record.xsd http://www.opengis.net/cat/csw/2.0.2 + + datacite + http://schema.datacite.org/meta/kernel-4.3/metadata.xsd + http://datacite.org/schema/kernel-4 + dif http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/dif.xsd diff --git a/tests/functionaltests/suites/oaipmh/expected/get_ListRecords_datacite.xml b/tests/functionaltests/suites/oaipmh/expected/get_ListRecords_datacite.xml new file mode 100644 index 000000000..9ea8c70ba --- /dev/null +++ b/tests/functionaltests/suites/oaipmh/expected/get_ListRecords_datacite.xml @@ -0,0 +1,340 @@ + + + + PYCSW_TIMESTAMP + http://localhost/pycsw/csw.py?config=tests/functionaltests/suites/oaipmh/default.cfg&mode=oaipmh + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + 2006-05-12 + + + + + Image + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + Lorem ipsum + + + Tourism--Greece + + + + + + + + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + image/svg+xml + + + + + + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + 2006-05-12 + + + + + Service + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + + </titles> + <subjects/> + <creators> + <creator> + <creatorName/> + </creator> + </creators> + <descriptions> + <description xml:lang="eng">Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus.</description> + </descriptions> + <rightsList/> + <geoLocations> + <geoLocation> + <geoLocationBox> + <westBoundLongitude>13.75</westBoundLongitude> + <southBoundLatitude>60.04</southBoundLatitude> + <eastBoundLongitude>17.92</eastBoundLongitude> + <northBoundLatitude>68.41</northBoundLatitude> + </geoLocationBox> + </geoLocation> + </geoLocations> + </resource> + </oai:metadata> + </oai:record> + <oai:record> + <oai:header> + <oai:identifier>urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493</oai:identifier> + <oai:dateStamp>2006-05-12</oai:dateStamp> + <oai:setSpec/> + </oai:header> + <oai:metadata> + <resource xsi:schemaLocation="http://datacite.org/schema/kernel-4 http://schema.datacite.org/meta/kernel-4.3/metadata.xsd"> + <resourceType resourceTypeGeneral="Text">Text</resourceType> + <identifier identifierType="URN">urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493</identifier> + <titles> + <title xml:lang="eng">Maecenas enim + + + Marine sediments + + + + + + + + Pellentesque tempus magna non sapien fringilla blandit. + + + application/xhtml+xml + + + + + + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + 2006-05-12 + + + + + Service + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + + Ut facilisis justo ut lacus + + + Vegetation + + + + + + + + + + + + + + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + 2006-05-12 + + + + + Text + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + + 2006-05-12 + + + Aliquam fermentum purus quis arcu + + + Hydrography--Dictionaries + + + + + + + + Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. + + + application/pdf + + + 2006 + + + + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + 2006-03-26 + + + + + Image + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + + Vestibulum massa purus + + + + + + + + + + + + image/jp2 + + + + + + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + 2006-03-26 + + + + + Dataset + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + + </titles> + <subjects> + <subject xml:lang="eng">Physiography-Landforms</subject> + </subjects> + <creators> + <creator> + <creatorName/> + </creator> + </creators> + <descriptions> + <description xml:lang="eng">Donec scelerisque pede ut nisl luctus accumsan. Quisque ultrices, lorem eget feugiat fringilla, lorem dui porttitor ante, cursus ultrices magna odio eu neque.</description> + </descriptions> + <rightsList/> + </resource> + </oai:metadata> + </oai:record> + <oai:record> + <oai:header> + <oai:identifier>urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63</oai:identifier> + <oai:dateStamp>2006-03-26</oai:dateStamp> + <oai:setSpec/> + </oai:header> + <oai:metadata> + <resource xsi:schemaLocation="http://datacite.org/schema/kernel-4 http://schema.datacite.org/meta/kernel-4.3/metadata.xsd"> + <resourceType resourceTypeGeneral="Dataset">Dataset</resourceType> + <identifier identifierType="URN">urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63</identifier> + <dates> + <date dateType="Updated">2006-03-26</date> + </dates> + <titles> + <title xml:lang="eng">Mauris sed neque + + + Vegetation-Cropland + + + + + + + + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + + + + + + -4.1 + 47.59 + 0.89 + 51.22 + + + + 2006 + + + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + 2005-10-24 + + + + + Dataset + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + + 2005-10-24 + + + Ñunç elementum + + + Hydrography-Oceanographic + + + + + + + + + + + + + + -6.17 + 44.79 + -2.23 + 51.13 + + + + 2005 + + + + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + + + + + + Image + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + + Lorem ipsum dolor sit amet + + + + + + + + + + + + image/jpeg + + + + + + 11 + + \ No newline at end of file diff --git a/tests/functionaltests/suites/oaipmh/get/requests.txt b/tests/functionaltests/suites/oaipmh/get/requests.txt index bf6955232..2658df1dc 100644 --- a/tests/functionaltests/suites/oaipmh/get/requests.txt +++ b/tests/functionaltests/suites/oaipmh/get/requests.txt @@ -8,13 +8,16 @@ ListMetadataFormats,mode=oaipmh&verb=ListMetadataFormats GetRecord_dc,mode=oaipmh&verb=GetRecord&identifier=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f&metadataPrefix=csw-record GetRecord_bad_metadata_prefix,mode=oaipmh&verb=GetRecord&identifier=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f&metadataPrefix=csw-recordd GetRecord_oai_dc,mode=oaipmh&verb=GetRecord&identifier=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f&metadataPrefix=oai_dc +GetRecord_datacite,mode=oaipmh&verb=GetRecord&identifier=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f&metadataPrefix=datacite GetRecord_iso,mode=oaipmh&verb=GetRecord&identifier=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f&metadataPrefix=iso19139 ListIdentifiers_missing_metadata_prefix,mode=oaipmh&verb=ListIdentifiers ListIdentifiers_dc,mode=oaipmh&verb=ListIdentifiers&metadataPrefix=csw-record ListIdentifiers_iso,mode=oaipmh&verb=ListIdentifiers&metadataPrefix=iso19139 +ListIdentifiers_datacite,mode=oaipmh&verb=ListIdentifiers&metadataPrefix=datacite ListIdentifiers_oai_dc,mode=oaipmh&verb=ListIdentifiers&metadataPrefix=oai_dc ListIdentifiers_bad_metadata_prefix,mode=oaipmh&verb=ListIdentifiers&metadataPrefix=foo ListRecords_dc,mode=oaipmh&verb=ListRecords&metadataPrefix=csw-record ListRecords_dc_bad_metadata_prefix,mode=oaipmh&verb=ListRecords&metadataPrefix=csw-recording ListRecords_oai_dc,mode=oaipmh&verb=ListRecords&metadataPrefix=oai_dc +ListRecords_datacite,mode=oaipmh&verb=ListRecords&metadataPrefix=datacite ListRecords_iso19139,mode=oaipmh&verb=ListRecords&metadataPrefix=iso19139 diff --git a/tests/functionaltests/suites/utf-8/expected/post_GetCapabilities.xml b/tests/functionaltests/suites/utf-8/expected/post_GetCapabilities.xml index 6daef618e..41dff8d55 100644 --- a/tests/functionaltests/suites/utf-8/expected/post_GetCapabilities.xml +++ b/tests/functionaltests/suites/utf-8/expected/post_GetCapabilities.xml @@ -120,6 +120,7 @@ application/xml + http://datacite.org/schema/kernel-4 http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ http://www.interlis.ch/INTERLIS2.3 http://www.opengis.net/cat/csw/2.0.2 @@ -173,6 +174,7 @@ application/xml + http://datacite.org/schema/kernel-4 http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ http://www.interlis.ch/INTERLIS2.3 http://www.opengis.net/cat/csw/2.0.2