As said in title, I want to be able to do XML transformation with XSLT 2.0 in intelliJ.
I know Oxygen can do the transformation too, but it's too expensive. So that's not an option for me.
Does anyone know any plugin? configuration or anyway that can make intelliJ transform on XML files with different extensions?
Intellij supports transformation with XSLT. It provides XSLT 1.0 transfomations out of the box, but XSLT 2.0 transformations require a bit of configuration. The details are available on the jetbrains website here, but essentially, you have to enable the "XPathView + XSLT Support" plugin. This plugin is bundled with Intellij and enabled by default so you should be good to go out of the box for XSLT 1.0. You can just open your stylesheet file in the editor and right click inside the file, you'll get a drop-down with one of the options being "Run .xsl" if you click this, then you can specify the source document and whether the output should go to the console or to a file and then intellij will run your stylesheet and send the output to where you chose.
For XSLT 2.0 the additional configuration necessary is to add an XSLT processor that supports XSLT 2.0 to the classpath. The reason you need to do this is because the XSLT processor that comes standard with the JDK is Apache Xalan and this doesn't support XSLT 2.0. Saxon HE 9 is a free XSLT processor that supports XSLT 2.0. You can download the jar from the project site here and then add it to your project by opening the project structure dialog, going to the Module settings and opening the dependencies tab. Add the jar as a new dependency and Make sure it is at the top of the list of dependencies, above the JDK. Intellij will now use this XSLT processor instead of the one in the JDK to do the transformations.
FYI, you can also add Saxon as a dependency using maven and then it will automatically appear in the dependencies tab and you will just need to make sure to move it to the top of the list
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With