xsltproc:我可以向--stringparams添加断点(或实体)吗?

xsltproc:我可以向--stringparams添加断点(或实体)吗?,xslt,entity,libxml2,Xslt,Entity,Libxml2,我正在尝试向xsltproc提供包含中断的stringparam。。。它似乎不起作用。下面是一个简单的例子 输入 这是bogus.xml: <?xml version="1.0" encoding="UTF-8"?> <this> <that/> </this> 这是我的命令行: xsltproc--stringparam somestring'另一个字符串,带有 ;break'test.xsl-bogus.xml 输出 输出如下所示:

我正在尝试向xsltproc提供包含中断的stringparam。。。它似乎不起作用。下面是一个简单的例子

输入 这是
bogus.xml

<?xml version="1.0" encoding="UTF-8"?>
<this>
  <that/>
</this>
这是我的命令行:
xsltproc--stringparam somestring'另一个字符串,带有
;break'test.xsl-bogus.xml

输出 输出如下所示:

|another string with a&#10;break|
xsltproc --stringparam somestring $'another string with a\nbreak' test.xsl bogus.xml
我想要的输出是:

|another string with a
break|

使用Bash时,可以通过以下方式实现:

|another string with a&#10;break|
xsltproc --stringparam somestring $'another string with a\nbreak' test.xsl bogus.xml

有关ansi-c引用的更多信息,请参见使用Bash时的以下操作:

|another string with a&#10;break|
xsltproc --stringparam somestring $'another string with a\nbreak' test.xsl bogus.xml

有关ansi-c引用的更多信息,请参见是XML语法,它在XSLT代码内部工作,就像它是XML一样。在命令行中,我不确定XSLT 1.0中是否可以传入带换行符的字符串,我认为您需要检查命令行shell的文档,看是否可以在其中插入换行符。例如,对于Windows Powershell,后面的勾号“`n``可以转义换行符,因此命令行
&'C:\Program Files(x86)\libxml\bin\xsltproc.exe'--stringparam somestring“另一个带`n换行符的字符串”sheet.xsl input.xml
对我有用不幸的是,我不是直接使用xsltproc,而是在一个更复杂的工具链中使用。我刚刚发现在Bash中,
xsltproc--stringparam somestring'另一个带有[now a literal break]break'test.xsl-bogus.xml的字符串实际上可以工作。在任何情况下,我更喜欢基于XML的解决方案……好吧,您所使用的工具链、命令行处理器或shell的转义机制就是您需要了解的
是XML语法,它在XSLT代码内部工作,就像它是XML一样。在命令行中,我不确定XSLT 1.0中是否可以传入带换行符的字符串,我认为您需要检查命令行shell的文档,看是否可以在其中插入换行符。例如,对于Windows Powershell,后面的勾号“`n``可以转义换行符,因此命令行
&'C:\Program Files(x86)\libxml\bin\xsltproc.exe'--stringparam somestring“另一个带`n换行符的字符串”sheet.xsl input.xml
对我有用不幸的是,我不是直接使用xsltproc,而是在一个更复杂的工具链中使用。我刚刚发现在Bash中,
xsltproc--stringparam somestring'另一个带有[now a literal break]break'test.xsl-bogus.xml的字符串实际上可以工作。在任何情况下,我更喜欢基于XML的解决方案……好吧,您所使用的工具链或命令行处理器或shell的转义机制就是您需要了解的。