XSLT с XProc - привязка параметров в требуемом типе
Я пытаюсь перевести мой пакетный файл, называющий Saxon (версия 8.9), в конвейер XProc (Calabash). Это мой пакетный звонок:
java -jar saxon8.jar -o out.xml in.xml style.xsl +config=config-file.cfg
Параметр config определяется в таблице стилей следующим образом:
<xsl:param name="config" as="document-node()"/>
Часть XProc выглядит так:
<p:load name="configLoad">
<p:with-option name="href" select="'config-file.cfg'"/>
</p:load>
<p:xslt name="config">
<p:input port="source">
<p:document href="in.xml"/>
</p:input>
<p:input port="parameters">
<p:inline>
<c:param name="config">
<p:pipe port="result" step="configLoad"/>
</c:param>
</p:inline>
</p:input>
<p:input port="stylesheet">
<p:document href="style.xsl"/>
</p:input>
</p:xslt>
Сообщение об ошибке таково:
Обязательный тип элемента значения переменной $ config - document-node (); предоставленное значение имеет тип элемента xs: string
Я знаю<p:exec>
шаг, но я не хочу его использовать, потому что файл конфигурации будет сгенерирован другими преобразованиями XSLT позже. Он также должен быть использован другими этапами XProc.
Есть ли возможность вызвать таблицу стилей XSLT с правильным типом параметра? Спасибо за вашу помощь!