Поддержка XSLT 2 в IntelliJ IDEA - PullRequest
       60

Поддержка XSLT 2 в IntelliJ IDEA

0 голосов
/ 22 апреля 2020

У меня проблема с просмотром файла XML в стиле XSLT 2 в IntelliJ. Я добавил зависимость 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">

1 Ответ

0 голосов
/ 22 апреля 2020

Проблема в том, что браузеры поддерживают только XSLT версии 1.0, а fn:tokenize(...) - это функция XSLT-2.0. Так что, к сожалению, вы ограничены версией 1.0, если хотите запустить свою таблицу стилей в браузере.

Единственной альтернативой будет использование Saxon- JS:

Saxon- JS - это среда выполнения XSLT 3.0, написанная на чистом JavaScript. Он предназначен для выполнения файлов экспорта таблиц стилей (SEF), скомпилированных Saxon-EE.

Но это не бесплатно, поэтому вам придется купить лицензию.

...