командная строка xalan, передающая параметры в xslt

#bash #xslt #parameters #xslt-1.0 #xalan

#bash #xslt #параметры #xslt-1.0 #xalan

Вопрос:

Я пытаюсь выполнить обработку xml в командной строке с помощью xslt с помощью командной строки xalan:

(http://manpages.ubuntu.com/manpages/xenial/man1/xalan.1.html)

Используемая команда :

 xalan -q -param name_param 'something relevant' -xsl use.xsl -in use.xml
  

Используемая версия Xalan :

 Xalan version 1.11.0
Xerces version 3.2.0
  

Метод проб и ошибок

Я пробовал одинарные и двойные кавычки в команде и пытался получить доступ к параметру в xslt as, но все же я не могу получить доступ к параметрам, которые я передаю в командной строке

Я хочу иметь возможность использовать параметры, переданные внутри use.xsl для обработки use.xml

Комментарии:

1. Есть ли у вашего XSLT глобальный <xsl:param name="name_param"/> ? Каков именно результат, когда вы говорите, что «не можете получить доступ к параметрам»?

Ответ №1:

http://xalan.apache.org/xalan-c/usagepatterns.html#xalantransformer говорит: «Утилита командной строки Xalan в настоящее время поддерживает только текстовое строковое значение для параметра таблицы стилей верхнего уровня. Для определения значения текстовой строки требуются одинарные кавычки. » и «Если строковое выражение содержит пробелы или другие символы, которые перехватывает оболочка, сначала заключите строку в одинарные кавычки, чтобы Xalan-C интерпретировал ее как строковое выражение, а затем заключите результирующую строку в двойные кавычки, чтобы оболочкаинтерпретирует его как один аргумент «. и приводит пример Xalan -p param1 "'string expression'"foo.xml foo.xsl . Я не проверял это, но это слишком долго, чтобы вписаться в комментарий, поэтому публикуйте его в качестве ответа.

Комментарии:

1. Отличные результаты!