xalan命令行将参数传递给xslt

时间:2019-04-11 13:47:19

标签: bash xslt parameters xslt-1.0 xalan

我正在尝试通过使用xalan命令行使用xslt对xml进行命令行处理:

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中的参数,但仍然无法访问在命令行中传递的参数

我希望能够使用use.xsl内部传递的参数来处理use.xml

1 个答案:

答案 0 :(得分:1)

http://xalan.apache.org/xalan-c/usagepatterns.html#xalantransformer说:“ Xalan命令行实用程序当前仅支持顶级样式表参数的文本字符串值。单引号用于标识文本字符串值。”和“如果字符串表达式包含空格或其他外壳程序截获的字符,请先将字符串用单引号引起来,以便Xalan-C ++将其解释为字符串表达式,然后将结果字符串用双引号引起来,以便外壳将其解释为单一论点。”并给出一个示例Xalan -p param1 "'string expression'"foo.xml foo.xsl。我尚未对此进行测试,但由于它太长而无法放入评论中,因此只能作为答案发布。