SUMMARY When I import an ISO20022 XML, Skrooge does not import it, but reports an error. This seems to be a regression, because to double-check I tried to import an XML file that I have successfully imported before and it threw the same error. STEPS TO REPRODUCE 1. get ISO20022 XML monthly bank statement from bank 2. File ↦ Import ↦ Import and select said XML file OBSERVED RESULT Skrooge throws an error: ``` [ERR-5]: Import of file named 'file:///home/hook/Dokumenti/Denar/Bančni izpiski/2024/ISO 20022 (TRR EUR @ DBS) – 2024-07-01.xml' failed [ERR-5]: The conversion in xml of 'file:///home/hook/Dokumenti/Denar/Bančni izpiski/2024/ISO 20022 (TRR EUR @ DBS) – 2024-07-01.xml' failed [ERR-5]: The execution of 'sed -E 's/ xmlns(:[a-zA-Z0-9]+)?="[^"]+"//g' "/home/hook/Dokumenti/Denar/Bančni izpiski/2024/ISO 20022 (TRR EUR @ DBS) – 2024-07-01.xml" > "/tmp/{8fe5989b-108d-4fc2-a469-1671083741a0}.xml";saxonb-xslt -xsl:"/usr/share/skrooge/ISO20022.xslt" -s:"/tmp/{8fe5989b-108d-4fc2-a469-1671083741a0}.xml" -o:"/tmp/{8fe5989b-108d-4fc2-a469-1671083741a0}.xml"' failed ``` EXPECTED RESULT Skrooge imports the transactions without error (as it did before). SOFTWARE/OS VERSIONS actual Skrooge version: 25.4.0 Qt Version: Operating System: EndeavourOS KDE Plasma Version: 6.4.3 KDE Frameworks Version: 6.16.0 Qt Version: 6.9.1 ADDITIONAL INFORMATION
Upon further digging, I suspect the culprit is that I don’t seem to have `saxonb-xsl` installed on my machine. It seems this dependency was introduced a few months ago during the Qt6 port, specifically here: https://invent.kde.org/office/skrooge/-/commit/44621f8b8efee01380df46afa939080be724d7d1#6005aaa4fbe3fa54ed3d69b67fcbeec0776d092f_94_104
Git commit a6b40b0d2c33f2fe344b7cf10169f06934723078 by Stéphane MANKOWSKI. Committed on 24/07/2025 at 19:49. Pushed by smankowski into branch 'master'. Regression: Error importing ISO20022 XML into Skrooge M +2 -1 CHANGELOG M +11 -3 plugins/import/skrooge_import_xml/skgimportpluginxml.cpp https://invent.kde.org/office/skrooge/-/commit/a6b40b0d2c33f2fe344b7cf10169f06934723078
Stéphane, thanks for working on this so fast. It seems like the command is not always called `saxonb-xslt` – e.g. on Arch(-based distros), it is only available in the user-contributed AUR and the command is called `saxon-xslt` (and currently broken, but that’s not Skrooge’s concern). Would it be possible to rely on a more commonly packaged XSLT processor instead? Or be able to use either of the existing options? According to https://en.wikipedia.org/wiki/Saxon_XSLT there are also LibXML/LibXSLT and Apache Xalan. If a quick search on https://repology.org/ is worth anything, it seems Xalan is slightly more commonly packaged than Saxon, and LibXSLT is much more widely distributed then both.
Hi, XALAN doesn't support xslt 2.0, only 1.0 is supported. That's why I selected saxonb. I will do a modification to search saxonb-xslt or saxon-xslt.
Git commit ee47b689445caa982bc048ac0278f68c01db928b by Stéphane MANKOWSKI. Committed on 25/07/2025 at 20:19. Pushed by smankowski into branch 'master'. Regression: Error importing ISO20022 XML into Skrooge M +11 -4 plugins/import/skrooge_import_xml/skgimportpluginxml.cpp https://invent.kde.org/office/skrooge/-/commit/ee47b689445caa982bc048ac0278f68c01db928b