Hello all,

Danilo thank you very much for the help!
John thank you for the feedback!
I have been testing this all morning but unfortunately it did not work for me.

Changed the resourceType element as described and modified an item’s metadata 
field dc.type to a term in English. I created the Datacite.xml file through the 
console ( dsrun org.dspace.content.crosswalk.XSLTDisseminationCrosswalk 
DataCite myhandle  ) for this item and tested.
Pasting  the resource type xml element, created with the new stylesheet:
  <resourceType resourceTypeGeneral="Other">Bachelor Thesis</resourceType>
and the three first lines from the xml
<?xml version="1.0" encoding="UTF-8"?>
<resource xmlns=http://datacite.org/schema/kernel-4 
xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance 
xmlns:dspace=http://www.dspace.org/xmlns/dspace/dim 
xsi:schemaLocation=http://datacite.org/schema/kernel-4 
http://schema.datacite.org/meta/kernel-4/metadata.xsd<http://datacite.org/schema/kernel-4%20http:/schema.datacite.org/meta/kernel-4/metadata.xsd>>
  <creators>
    <creator>

When I run doi-organiser --update-doi myhandle a get a 422 error
This is the log excerpt from my last test.
2025-01-10 13:49:35,554 WARN  org.dspace.identifier.doi.DataCiteConnector @ 
While reserving the DOI doi:xxxxxx, we got a http status code 422 and the 
message "DOI xxxxxx: This element is not expected. Expected is one of ( 
{http://datacite.org/schema/kernel-4}identifier, 
{http://datacite.org/schema/kernel-4}creators, 
{http://datacite.org/schema/kernel-4}titles, 
{http://datacite.org/schema/kernel-4}publisher, 
{http://datacite.org/schema/kernel-4}publicationYear, 
{http://datacite.org/schema/kernel-4}resourceType, 
{http://datacite.org/schema/kernel-4}subjects, 
{http://datacite.org/schema/kernel-4}contributors, 
{http://datacite.org/schema/kernel-4}dates, 
{http://datacite.org/schema/kernel-4}language ). at line 3, column 0".
2025-01-10 13:49:35,944 ERROR org.dspace.identifier.doi.DOIOrganiser @ It 
wasn't possible to update this identifier:  doi:xxxxxx Exceptions code:  
BAD_ANSWER
org.dspace.identifier.doi.DOIIdentifierException: Unable to parse an answer 
from DataCite API. Please have a look into DSpace logs.
                at 
org.dspace.identifier.doi.DataCiteConnector.reserveDOI(DataCiteConnector.java:500)
                at 
org.dspace.identifier.doi.DataCiteConnector.updateMetadata(DataCiteConnector.java:582)
                at 
org.dspace.identifier.DOIIdentifierProvider.updateMetadataOnline(DOIIdentifierProvider.java:420)
                at 
org.dspace.identifier.doi.DOIOrganiser.update(DOIOrganiser.java:594)
                at 
org.dspace.identifier.doi.DOIOrganiser.runCLI(DOIOrganiser.java:342)
                at 
org.dspace.identifier.doi.DOIOrganiser.main(DOIOrganiser.java:71)
                at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
                at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                at java.lang.reflect.Method.invoke(Method.java:498)
                at 
org.dspace.app.launcher.ScriptLauncher.runOneCommand(ScriptLauncher.java:229)
                at 
org.dspace.app.launcher.ScriptLauncher.main(ScriptLauncher.java:81)

But, when I used the mentioned Datacite.xml file to create a Draft DOI through 
Fabrica it worked.

How else can I reproduce what the API sends to Datacite? Any thoughts?

Greetings from sunny Athens,
Kiriaki

From: [email protected] <[email protected]> On Behalf Of 
John Sarris
Sent: Friday, January 10, 2025 12:57 PM
To: DSpace Technical Support <[email protected]>
Subject: [dspace-tech] Re: Error loading DataCite schema v.4 crosswalk 
stylesheet

Hi,

this is indeed the solution.
First declaring a variable, as stated by Danilo, by <xsl:param 
name="defaultType">Other</xsl:param>
and then using this variable, by replacing
<xsl:value-of>Other</xsl:value-of> with <xsl:value-of select="$defaultType"/> 
(Just pay attention to a minor syntactical error in the closing tag, it should 
be />)

Have a nice year

John

--
Dr. John Sarris

IT System Administrator
Library & Information Center
National Technical University of Athens (NTUA), Greece

On Thursday, January 9, 2025 at 10:10:51 PM UTC+2 Danilo Di Nuzzo wrote:
Hi Kiriaki,

I think that the item with ID 6ba15ba8-0fae-43e7-b7cc-73de23d9098d hasn't 
attribute dc.type and the XSLT processor tries to apply the rule present in 
DIM2DataCite.xsl at row 242, but this line is wrong because the tag 
<xsl:value-of> requires the select attribute.

You can try to fix this issue in two ways:

  *   adding the type metadata to each items with value Other;
  *   replacing the line 242 of DIM2DataCite.xsl with a costant string (Other) 
or introducing a parameter (<xsl:param name="defaultType">Other</xsl:param>) 
and change the line 242 with <xsl:value-of select="$defaultType">


Danilo Di Nuzzo ([email protected])
CTO at Revolution Development Srl
Il giorno lunedì 7 ottobre 2024 alle 14:16:44 UTC+2 Kiriaki Roditi ha scritto:
Hello to All,

Having trouble updating the Datacite crosswalk to use Schema version 4 on a 
DSpace v.6.3 installation.
I have updated 
DIM2DataCite.xsl<https://github.com/DSpace/DSpace/blob/main/dspace/config/crosswalks/DIM2DataCite.xsl>
 , dspace.fg, local.cfg and DataCiteConnector.java to use 
http://datacite.org/schema/kernel-4

The error in the console when I try to update a DOI is
ERROR:  'Syntax error in ''.'
FATAL ERROR:  'line 242: Required attribute 'select' is missing.'

This is the excerpt from the logs
ERROR org.dspace.content.crosswalk.XSLTCrosswalk @ Failed to initialize 
XSLTCrosswalk(DataCite):  
javax.xml.transform.TransformerConfigurationException: line 242: Required 
attribute 'select' is missing.
ERROR org.dspace.identifier.doi.DataCiteConnector @ Caught an 
CrosswalkException while reserving a DOI for DSO with type 2 and ID 
6ba15ba8-0fae-43e7-b7cc-73de23d9098d. Won't reserve the doi.
org.dspace.content.crosswalk.CrosswalkInternalException: Failed to initialize 
transformer, probably error loading stylesheet.
                at 
org.dspace.content.crosswalk.XSLTDisseminationCrosswalk.disseminateElement(XSLTDisseminationCrosswalk.java:225)
                at 
org.dspace.identifier.doi.DataCiteConnector.reserveDOI(DataCiteConnector.java:422)
                at 
org.dspace.identifier.doi.DataCiteConnector.updateMetadata(DataCiteConnector.java:582)
                at 
org.dspace.identifier.DOIIdentifierProvider.updateMetadataOnline(DOIIdentifierProvider.java:420)
                at 
org.dspace.identifier.doi.DOIOrganiser.update(DOIOrganiser.java:594)
                at 
org.dspace.identifier.doi.DOIOrganiser.runCLI(DOIOrganiser.java:240)
                at 
org.dspace.identifier.doi.DOIOrganiser.main(DOIOrganiser.java:71)
                at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
                at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                at java.lang.reflect.Method.invoke(Method.java:498)
                at 
org.dspace.app.launcher.ScriptLauncher.runOneCommand(ScriptLauncher.java:229)
                at 
org.dspace.app.launcher.ScriptLauncher.main(ScriptLauncher.java:81)
ERROR org.dspace.identifier.doi.DOIOrganiser @ It wasn't possible to update 
this identifier:  doi: Exceptions code:  CONVERSION_ERROR
org.dspace.identifier.doi.DOIIdentifierException: CrosswalkException occured 
while converting ITEM/6ba15ba8-0fae-43e7-b7cc-73de23d9098d using crosswalk 
DataCite.
                at 
org.dspace.identifier.doi.DataCiteConnector.reserveDOI(DataCiteConnector.java:440)
                at 
org.dspace.identifier.doi.DataCiteConnector.updateMetadata(DataCiteConnector.java:582)
                at 
org.dspace.identifier.DOIIdentifierProvider.updateMetadataOnline(DOIIdentifierProvider.java:420)
                at 
org.dspace.identifier.doi.DOIOrganiser.update(DOIOrganiser.java:594)
                at 
org.dspace.identifier.doi.DOIOrganiser.runCLI(DOIOrganiser.java:240)
                at 
org.dspace.identifier.doi.DOIOrganiser.main(DOIOrganiser.java:71)
                at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
                at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                at java.lang.reflect.Method.invoke(Method.java:498)
                at 
org.dspace.app.launcher.ScriptLauncher.runOneCommand(ScriptLauncher.java:229)
                at 
org.dspace.app.launcher.ScriptLauncher.main(ScriptLauncher.java:81)
Caused by: org.dspace.content.crosswalk.CrosswalkInternalException: Failed to 
initialize transformer, probably error loading stylesheet.
                at 
org.dspace.content.crosswalk.XSLTDisseminationCrosswalk.disseminateElement(XSLTDisseminationCrosswalk.java:225)
                at 
org.dspace.identifier.doi.DataCiteConnector.reserveDOI(DataCiteConnector.java:422)
                ... 11 more

What am I missing?
Is there another configuration property that I need to change? Does it have to 
do with the metadata stored in dc.type field?

Thank you for your time,

Kiriaki Roditi
Systems Engineer

________________________________
ELiDOC Systems & Services


--
All messages to this mailing list should adhere to the Code of Conduct: 
https://www.lyrasis.org/about/Pages/Code-of-Conduct.aspx
---
You received this message because you are subscribed to the Google Groups 
"DSpace Technical Support" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to 
[email protected]<mailto:[email protected]>.
To view this discussion visit 
https://groups.google.com/d/msgid/dspace-tech/74749688-3530-4bc6-9b57-7f858ac487dcn%40googlegroups.com<https://groups.google.com/d/msgid/dspace-tech/74749688-3530-4bc6-9b57-7f858ac487dcn%40googlegroups.com?utm_medium=email&utm_source=footer>.

-- 
All messages to this mailing list should adhere to the Code of Conduct: 
https://www.lyrasis.org/about/Pages/Code-of-Conduct.aspx
--- 
You received this message because you are subscribed to the Google Groups 
"DSpace Technical Support" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion visit 
https://groups.google.com/d/msgid/dspace-tech/DU0PR10MB745934715C04479E2B6D239D901C2%40DU0PR10MB7459.EURPRD10.PROD.OUTLOOK.COM.

Reply via email to