DataCite XML to JSON Mapping

This mapping documents how to represent the DataCite Metadata Schema in JSON.

This table can be used when submitting metadata via the DataCite REST API. When creating or updating a DOI, all of the JSON attributes listed below are part of the "attributes" section of the payload. See Creating DOIs with the REST API for example payloads.

The mapping may also serve as a reference for constructing REST API queries for specific metadata fields.

XML-JSON Mapping

DataCite
XML
property #
DataCite XML propertyJSON attributeJSON value type
-creatorscreatorslist of objects
2creator-object
2.1creatorNamecreators.namestring
-xml:langcreators.langstring
2.1.anameTypecreators.nameTypestring
2.2givenNamecreators.givenNamestring
2.3familyNamecreators.familyNamestring
--creators.nameIdentifierslist of objects
2.4nameIdentifiercreators.nameIdentifiers.nameIdentifierstring
2.4.anameIdentifierSchemecreators.nameIdentifiers.nameIdentifierSchemestring
2.4.bschemeURIcreators.nameIdentifiers.schemeUristring
--creators.affiliationlist of objects
2.5affiliationcreators.affiliation.namestring
2.5.aaffiliationIdentifiercreators.affiliation.affiliationIdentifierstring
2.5.baffiliationIdentifierSchemecreators.affiliation.affiliationIdentifierSchemestring
2.5.cschemeURIcreators.affiliation.schemeUristring
-titlestitleslist of objects
3titletitles.titlestring
-xml:langtitles.langstring
3.atitleTypetitles.titleTypestring
--publisherobject
4publisherpublisher.namestring
4.apublisherIdentifierpublisher.publisherIdentifierstring
4.bpublisherIdentifierSchemepublisher.publisherIdentifierSchemestring
4.cschemeURIpublisher.schemeUristring
-xml:langpublisher.langstring
5publicationYearpublicationYearint
-subjectssubjectslist of objects
6subjectsubjects.subjectstring
6.asubjectSchemesubjects.subjectSchemestring
6.bschemeURIsubjects.schemeUristring
6.cvalueURIsubjects.valueUristring
6.dclassificationCodesubjects.classificationCodestring
-contributorscontributorslist of objects
7contributor-object
7.acontributorTypecontributors.contributorTypestring
7.1contributorNamecontributors.namestring
-xml:langcontributors.langstring
7.1.anameTypecontributors.nameTypestring
7.2givenNamecontributors.givenNamestring
7.3familyNamecontributors.familyNamestring
--contributors.nameIdentifierslist of objects
7.4nameIdentifiercontributors.nameIdentifiers.nameIdentifierstring
7.4.anameIdentifierSchemecontributors.nameIdentifiers.nameIdentifierSchemestring
7.4.bschemeURIcontributors.nameIdentifiers.schemeUristring
--contributors.affiliationlist of objects
7.5affiliationcontributors.affiliation.namestring
7.5.aaffiliationIdentifiercontributors.affiliation.affiliationIdentifierstring
7.5.baffiliationIdentifierSchemecontributors.affiliation.affiliationIdentifierSchemestring
7.5.cschemeURIcontributors.affiliation.schemeUristring
-datesdateslist of objects
8datedates.datestring
8.adateTypedates.dateTypestring
8.bdateInformationdates.dateInformationstring
9languagelanguagestring
--typesobject
10resourceTypetypes.resourceTypestring
10.aresourceTypeGeneraltypes.resourceTypeGeneralstring
-alternateIdentifiersalternateIdentifiers // identifierslist of objects
11alternateIdentifieralternateIdentifiers.alternateIdentifier // identifiers.identifierstring
11.aalternateIdentifierTypealternateIdentifiers.alternateIdentifierType // identifiers.identifierTypestring
-relatedIdentifiersrelatedIdentifierslist of objects
12relatedIdentifierrelatedIdentifiers.relatedIdentifierstring
12.arelatedIdentifierTyperelatedIdentifiers.relatedIdentifierTypestring
12.brelationTyperelatedIdentifiers.relationTypestring
12.crelatedMetadataSchemerelatedIdentifiers.relatedMetadataSchemestring
12.dschemeURIrelatedIdentifiers.schemeUristring
12.eschemeTyperelatedIdentifiers.schemeTypestring
12.fresourceTypeGeneralrelatedIdentifiers.resourceTypeGeneralstring
-sizessizeslist of strings
13size-string
-formatsformatslist of strings
14format-string
15versionversionstring
-rightsListrightsListlist of objects
16rightsrightsList.rightsstring
-xml:langrightsList.langstring
16.arightsURIrightsList.rightsUristring
16.brightsIdentifierrightsList.rightsIdentifierstring
16.crightsIdentifierSchemerightsList.rightsIdentifierSchemestring
16.dschemeURIrightsList.schemeUristring
-descriptionsdescriptionslist of objects
17descriptiondescriptions.descriptionstring
-xml:langdescriptions.langstring
17.adescriptionTypedescriptions.descriptionTypestring
-geoLocationsgeoLocationslist of objects
18geoLocation-object
18.1geoLocationPointgeoLocations.geoLocationPointobject
18.1.1pointLongitudegeoLocations.geoLocationPoint.pointLongitudestring
18.1.2pointLatitudegeoLocations.geoLocationPoint.pointLatitudestring
18.2geoLocationBoxgeoLocations.geoLocationBoxobject
18.2.1westBoundLongitudegeoLocations.geoLocationBox.westBoundLongitudestring
18.2.2eastBoundLongitudegeoLocations.geoLocationBox.eastBoundLongitudestring
18.2.3southBoundLatitudegeoLocations.geoLocationBox.southBoundLatitudestring
18.2.4northBoundLatitudegeoLocations.geoLocationBox.northBoundLatitudestring
18.3geoLocationPlacegeoLocations.geoLocationPlacestring
18.4geoLocationPolygon--
18.4.1polygonPoint--
18.4.1.1pointLongitude--
18.4.1.2pointLatitude--
18.4.2inPolygonPoint--
18.4.2.1pointLongitude--
18.4.2.2pointLatitude--
-fundingReferencesfundingReferenceslist of objects
19fundingReference-object
19.1funderNamefundingReferences.funderNamestring
19.2funderIdentifierfundingReferences.funderIdentifierstring
19.2.afunderIdentifierTypefundingReferences.funderIdentifierTypestring
19.2.bschemeURIfundingReferences.schemeUristring
19.3awardNumberfundingReferences.awardNumberstring
19.3.aawardURIfundingReferences.awardUristring
19.4awardTitlefundingReferences.awardTitlestring
-relatedItemsrelatedItemslist of objects
20relatedItem-object
20.arelatedItemTyperelatedItems.relatedItemTypestring
20.brelationTyperelatedItems.relationTypestring
--relatedItems.relatedItemIdentifierobject
20.1relatedItemIdentifierrelatedItems.relatedItemIdentifier.relatedItemIdentifierstring
20.1.arelatedItemIdentifierTyperelatedItems.relatedItemIdentifier.relatedItemIdentifierTypestring
20.1.brelatedMetadataSchemerelatedItems.relatedItemIdentifier.relatedMetadataSchemestring
20.1.cschemeURIrelatedItems.relatedItemIdentifier.schemeURIstring
20.1.dschemeTyperelatedItems.relatedItemIdentifier.schemeTypestring
-creatorsrelatedItems.creatorslist of objects
20.2creator-object
20.2.1creatorNamerelatedItems.creators.namestring
20.2.1.anameTyperelatedItems.creators.nameTypestring
20.2.2givenNamerelatedItems.creators.givenNamestring
20.2.3familyNamerelatedItems.creators.familyNamestring
-titlesrelatedItems.titleslist of objects
20.3titlerelatedItems.titles.titlestring
-xml:langrelatedItems.titles.langstring
20.3.atitleTyperelatedItems.titles.titleTypestring
20.4publicationYearrelatedItems.publicationYearstring
20.5volumerelatedItems.volumestring
20.6issuerelatedItems.issuestring
20.7numberrelatedItems.numberstring
20.7.anumberTyperelatedItems.numberTypestring
20.8firstPagerelatedItems.firstPagestring
20.9lastPagerelatedItems.lastPagestring
20.10publisherrelatedItems.publisherstring
20.11editionrelatedItems.editionstring
-contributorsrelatedItems.contributorslist of objects
20.12contributor-object
20.12.acontributorTyperelatedItems.contributors.contributorTypestring
20.12.1contributorNamerelatedItems.contributors.namestring
20.12.1.anameTyperelatedItems.contributors.nameTypestring
20.12.2givenNamerelatedItems.contributors.givenNamestring
20.12.3familyNamerelatedItems.contributors.familyNamestring

Mapping details

  • The DataCite Metadata Schema imposes additional requirements beyond the JSON value type. For example, several properties require values from a controlled list. These requirements are validated when metadata is submitted via the REST API. Full details of allowed values are available in the DataCite Metadata Schema documentation.
  • The DataCite XML property numbers correspond to those specified in the DataCite Metadata Schema documentation. Some XML properties do not have a corresponding number—for example, the xml:lang attribute and containing elements such as creators.
  • Additionally, some of the JSON attributes do not have a corresponding XML property. For example, creators.nameIdentifiers, which contains a list of nameIdentifier objects.
  • There are two ways to provide the alternateIdentifiersproperty. For more information, see What is the "identifiers" attribute in the REST API?.
  • The geolocationPolygon property is not supported in the REST API at this time.