Node enhancement: XLST 2.0 support for XSLT node

Dear all,

I have recently started working with XML Stylesheets (XSLT) for a personal project. I developed some simple stylesheets that worked perfectly with the XSLT node. I got confident in developing further and started creating more advanced stylesheets, using “Liquid Studio” as the IDE and the Saxon HE 9.8 processor/debugger.

I spent quite some time on developing a specific stylesheet and was looking forward to test it in Knime. However, when I ran the script, the XSLT node gave the following error:

Execute failed: javax.xml.transform.TransformerConfigurationException: Required attribute ‘select’ is missing.

In Liquid Studio this stylesheet was working properly. I did some research, and it seems the XSLT node is only capable of XSLT 1.0, whereas I was using (and need to use) XSLT 2.0 functionalities.

Is it possible to update the XSLT node so it’s capable of XSLT >=2.0? And if not, are there any workarounds available to use XSLT 2.0 transformations in Knime? If this has not been developed yet, I would love to hear your ideas.

Thank you!

1 Like

When KNIME fails, a Python Script node prevails… no hard feelings :wink:

I managed to get it to work with a Python script using the “saxonche” library from Saxonica: saxonche · PyPI.

Still, it would be very much appreciated and beneficial if XSLT >1.0 support will be available in the native XSLT node.

Cheers,
Ralph

2 Likes

Hello @ralphkoerse,

I am glad you found a workaround to the issue.
Since Java (8 and 11) only supports XPath 1.0 the XSLT node currently cannot support 2.0.

Best,
Keerthan

2 Likes

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.