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.
