IntelliJ IDEA 中的 XSLT 2 支持

XSLT 2 Support in IntelliJ IDEA

我在 IntelliJ 中查看 XSLT 2 样式的 XML 文件时遇到问题。我已经添加了 Saxon HE 依赖项并且我知道它可以工作,因为构建成功完成(并非没有此依赖项)

Connecting to XSLT runner on localhost/127.0.0.1:62573
Connected to XSLT runner.

Process finished with exit code 0

在 XSLT 输出中,我可以看到完全创建的 HTML,我可以将其放入 .html 文件中,它会正常工作。问题是当我想通过我的应用程序托管的服务器看到这个 HTML 时,例如localhost:8080/sampleFile.xml。这正是这个标签的问题

<xsl:for-each select="tokenize(@inputDomain, ',')">
...
</xsl:for-each>

当我删除这个标签时,我可以看到整个 HTML。我认为这是在这些文件上开始标记的问题,但我不知道,也找不到任何答案。

XML 文件开头为

<?xml version="1.0"?>
<?xml-stylesheet href="./interpreter.xsl" type="text/xsl" ?>
...

XSL 文件以

开头
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

问题是浏览器只支持 XSLT 1.0 版,fn:tokenize(...) 是 XSLT-2.0 的功能。因此,不幸的是,如果您想在浏览器中 运行 您的样式表,则只能使用 1.0 版。

唯一的选择是使用 Saxon-JS:

Saxon-JS is an XSLT 3.0 run-time written in pure JavaScript. It's designed to execute Stylesheet Export Files (SEFs) compiled by Saxon-EE.

但它不是免费的,因此您必须购买许可证。