Native XML Plugin - Export Error

Hi! Could you please help me solve the problem or advise me on how to debug it?

It’s really frustrating not having an export option.

Describe the issue or problem
Article export failed.

I’ve got this aftre use of plugin

The process failed. Check below for errors/warnings.

Errors occured:

Generic Items

  • Process failed to parse publications

Submission

  • Process failed to parse publications

What application are you using?
OJS 3.5.0.4

Additional information
Article has metadata in two languages. It looks like there are no empty fields left in forms.

Here it message from error log file.

[Tue May 12 01:33:44.940669 2026] [php:notice] [pid 14832:tid 1960] [client ::1:14441] Exception: XML validation failed with:\nArray\n(\n [0] => LibXMLError Object\n (\n [level] => 2\n [code] => 1871\n [column] => 0\n [message] => Element ‘{http://pkp.sfu.ca}agency’: This element is not expected. Expected is ( {http://pkp.sfu.ca}keyword ).\n\n [file] => \n [line] => 0\n )\n\n)\n in C:\\xampp1\\htdocs\\ojs\\lib\\pkp\\classes\\xslt\\XMLTypeDescription.php:142\nStack trace:\n#0 C:\\xampp1\\htdocs\\ojs\\lib\\pkp\\classes\\filter\\TypeDescription.php(143): PKP\\xslt\\XMLTypeDescription->checkType(Object(DOMDocument))\n#1 C:\\xampp1\\htdocs\\ojs\\lib\\pkp\\plugins\\importexport\\native\\filter\\NativeExportFilter.php(73): PKP\\filter\\TypeDescription->isCompatible(Object(DOMDocument))\n#2 C:\\xampp1\\htdocs\\ojs\\lib\\pkp\\classes\\filter\\Filter.php(465): PKP\\plugins\\importexport\\native\\filter\\NativeExportFilter->supports(Object(APP\\publication\\Publication), Object(DOMDocument))\n#3 C:\\xampp1\\htdocs\\ojs\\lib\\pkp\\plugins\\importexport\\native\\filter\\SubmissionNativeXmlFilter.php(183): PKP\\filter\\Filter->execute(Object(APP\\publication\\Publication))\n#4 C:\\xampp1\\htdocs\\ojs\\lib\\pkp\\plugins\\importexport\\native\\filter\\SubmissionNativeXmlFilter.php(109): PKP\\plugins\\importexport\\native\\filter\\SubmissionNativeXmlFilter->addPublications(Object(DOMDocument), Object(DOMElement), Object(APP\\submission\\Submission))\n#5 C:\\xampp1\\htdocs\\ojs\\plugins\\importexport\\native\\filter\\ArticleNativeXmlFilter.php(38): PKP\\plugins\\importexport\\native\\filter\\SubmissionNativeXmlFilter->createSubmissionNode(Object(DOMDocument), Object(APP\\submission\\Submission))\n#6 C:\\xampp1\\htdocs\\ojs\\lib\\pkp\\plugins\\importexport\\native\\filter\\SubmissionNativeXmlFilter.php(65): APP\\plugins\\importexport\\native\\filter\\ArticleNativeXmlFilter->createSubmissionNode(Object(DOMDocument), Object(APP\\submission\\Submission))\n#7 C:\\xampp1\\htdocs\\ojs\\lib\\pkp\\classes\\filter\\Filter.php(459): PKP\\plugins\\importexport\\native\\filter\\SubmissionNativeXmlFilter->process(Array)\n#8 C:\\xampp1\\htdocs\\ojs\\lib\\pkp\\classes\\plugins\\importexport\\PKPImportExportDeployment.php(598): PKP\\filter\\Filter->execute(Array, true)\n#9 C:\\xampp1\\htdocs\\ojs\\lib\\pkp\\classes\\plugins\\ImportExportPlugin.php(289): PKP\\plugins\\importexport\\PKPImportExportDeployment->export(‘article=>native…’, Array, Array)\n#10 C:\\xampp1\\htdocs\\ojs\\lib\\pkp\\plugins\\importexport\\native\\PKPNativeImportExportPlugin.php(216): PKP\\plugins\\ImportExportPlugin->getExportSubmissionsDeployment(Array, Object(APP\\plugins\\importexport\\native\\NativeImportExportDeployment))\n#11 C:\\xampp1\\htdocs\\ojs\\plugins\\importexport\\native\\NativeImportExportPlugin.php(30): PKP\\plugins\\importexport\\native\\PKPNativeImportExportPlugin->display(Array, Object(APP\\core\\Request))\n#12 C:\\xampp1\\htdocs\\ojs\\lib\\pkp\\pages\\management\\PKPToolsHandler.php(104): APP\\plugins\\importexport\\native\\NativeImportExportPlugin->display(Array, Object(APP\\core\\Request))\n#13 [internal function]: PKP\\pages\\management\\PKPToolsHandler->importexport(Array, Object(APP\\core\\Request))\n#14 C:\\xampp1\\htdocs\\ojs\\lib\\pkp\\classes\\core\\PKPRouter.php(327): call_user_func(Array, Array, Object(APP\\core\\Request))\n#15 C:\\xampp1\\htdocs\\ojs\\lib\\pkp\\classes\\core\\PKPPageRouter.php(249): PKP\\core\\PKPRouter->_authorizeInitializeAndCallRequest(Array, Object(APP\\core\\Request), Array, false)\n#16 C:\\xampp1\\htdocs\\ojs\\lib\\pkp\\classes\\core\\Dispatcher.php(157): PKP\\core\\PKPPageRouter->route(Object(APP\\core\\Request))\n#17 C:\\xampp1\\htdocs\\ojs\\lib\\pkp\\classes\\core\\PKPApplication.php(429): PKP\\core\\Dispatcher->dispatch(Object(APP\\core\\Request))\n#18 C:\\xampp1\\htdocs\\ojs\\index.php(21): PKP\\core\\PKPApplication->execute()\n#19 {main}, referer: http://localhost/ojs/index.php/testj/management/importexport/plugin/NativeImportExportPlugin

How does it fix?

Error is found in lib/pkp/plugins/importexport/native/pkp-native.xsd

It shoud be agency, discipline and subject, not keyword in several places.

Hi @Santa, thanks for the report - as you noted, it looks like this is a bug introduced in 3.5.0-4. I’ve filed this in GitHub and plan to fix it for our 3.5.0-5 release, and will share a patch you can apply here once it’s available.

Hello again @Santa,

Here is a patch you can apply locally in lib/pkp if you are comfortable doing so and would like the fix immediately - otherwise this will be available in the OJS 3.5.0-5 release.

https://patch-diff.githubusercontent.com/raw/pkp/pkp-lib/pull/12750.patch