Преобразование XSLT JSON в XML Ошибка «Содержимое недопустимо в прологе» - PullRequest
0 голосов
/ 23 сентября 2019

Я хочу преобразовать файл JSON в xml.

java -jar c: \ saxon \ saxon9he.jar -s: C: json -xsl: C: test.xsl -o: C: xml

XSLT для преобразования:

>     <?xml version="1.0" encoding="ISO-8859-1"?>
>     <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="3.0">
>         <xsl:output method="xml" indent="yes"/>
>         <xsl:param name="input" select="'../json/test.json'"/>
>         <xsl:template name="xsl:initial-template">
>             <xsl:apply-templates select="json-to-xml(unparsed-text($input))" mode="copy"/>
>         </xsl:template>
>         <xsl:template match="node() | @*" mode="copy">
>             <xsl:copy>
>                 <xsl:apply-templates select="node() | @*" mode="copy"/>
>             </xsl:copy>
>         </xsl:template>    
>     </xsl:stylesheet>

Я думаю, процессор ожидает ввода XML-файла.Какой процессор я должен использовать или есть другая ошибка?

Заранее спасибо!

1 Ответ

0 голосов
/ 23 сентября 2019

Существует опция командной строки -it, которую можно использовать для запуска обработки с именованным шаблоном xsl:template name="xsl:initial-template".Любые файлы JSON, которые вы можете затем передать в качестве параметра, как ваш пример уже делает в коде, в командной строке вы добавите input=foo.json, чтобы изменить / установить этот глобальный параметр.Поэтому вообще не используйте -s, а используйте -it (как указано) и добавьте правильное значение параметра для параметра input, либо в имеющемся коде, либо в командной строке.

...