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.
但它不是免费的,因此您必须购买许可证。
我在 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.
但它不是免费的,因此您必须购买许可证。