пустой текст подавляется из выходного файла при использовании последовательного пустого xsl: text - PullRequest
1 голос
/ 09 апреля 2020

Я пытался решить проблему без какого-либо успеха, и пробным путем я пришел к этому небольшому XSLT, чтобы доказать свою точку зрения. Частично проблема в том, что это нормально работает на моем P C, но при работе на сервере вывод другой. Я смог точно указать на тот факт, что XSLT записывает два последовательных xsl:text, которые оба являются пробелами.

Проблема в том, что при наличии двух последовательных пропусков один из двух подавляется. Для любопытных, я на самом деле пишу файл MAR CXML, используя LO C MODS в MAR C XSLT, и проблема с CP 7-10 и CP 11-14 для поля 008 , Когда оба поля не заполнены, вместо 8 происходит только 4 пробела, что приводит к сбою загрузки.

Вот XSLT:

    <xsl:template match="/">
        <xsl:text>beginning of a string</xsl:text>
        <xsl:text>    </xsl:text>
        <xsl:text>    </xsl:text>
        <xsl:text>end of a string</xsl:text>
    </xsl:template>

Результат выглядит следующим образом:

beginning of a string    end of a string

Обратите внимание, что вместо 8. Только 4 пробела. Если я вставлю текст в любой из двух пустых XSLT-текстов, все в порядке. И снова, это выводится нормально на моем P C, но не на сервере.

Кто-нибудь знает, есть ли опция или конфигурация Saxon, для которой необходимо настроить ее правильную выдачу?

Я использую Liquid Studio для локального тестирования XSLT на мой компьютер использует тот же входной файл, что и файл на сервере. На сервере преобразование выполняется из командной строки, и мы используем Saxon HE9.9. Я загружаю и смотрю полученный XML на моем P C с использованием Liquid Studio.

Вот командная строка: D:\Program Files\Saxonica\SaxonHE9.9N\bin\Transform" -s:"\\fileshare.lacaws02.local\goanywhere\data\Test008\mods2marc-In 2.xml" -xsl:\\fileshare.lacaws02.local\goanywhere\Lib\MODS\MODS3-4_TO_MARC21slim_XSLT16.xsl -o:\\fileshare.lacaws02.local\goanywhere\userdata\workspace\1000000000114\Output.xml

1 Ответ

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

Я наконец-то заставил нашего администратора установить Saxon HE 9.8 на наш сервер и запустил тот же файл с тем же XSLT, и все работает. Поэтому я подозреваю, что это ошибка в Saxon HE 9.9. Спасибо всем за помощь.

...