java -Xss2048k -jar -DentityExpansionLimit=800000 "C:\testXsl\saxon9.jar" "C:\testXsl\In\" "C:\testXsl\XslFile\test.xsl" >"C:\testXsl\Out\out.xml" 2>"C:\testXsl\Logs\xsllog.xml"
如何选择C:\testXsl\In\
文件夹中的所有.xml文件谢谢?
答案 0 :(得分:2)
在XSLT中,您可以使用collection('file:///C:/testXsl/In/?select=*.xml')
读取该文件夹中的所有.xml
个文件。有关该语法的详细信息,请参阅http://saxonica.com/documentation9.5/sourcedocs/collections.html。这样一个样式表就可以处理一组文档。
答案 1 :(得分:0)
每次循环
时,它都会替换该目录中某个.xlm文件的名称 for /f %%i in ('dir/b C:\testXsl\In\*.xlm') do(
java -Xss2048k -jar -DentityExpansionLimit=800000 "C:\testXsl\saxon9.jar"
%%i C:\testXsl\XslFile\test.xsl" >"C:\testXsl\Out\out.xml" 2>"C:\testXsl\Logs\xsllog.xml" )
答案 2 :(得分:0)
这取决于您是否想要完全独立地处理所有文件。如果要对每个文件应用相同的转换,以生成相应的输出文件,则从命令行中-s和-o参数都可以是目录。但是更灵活的方法是使用collection()函数从xslt代码本身内控制迭代。
答案 3 :(得分:0)
问题解决.. 谢谢所有
java -Xss2048k -jar -DentityExpansionLimit = 800000" C:\ testXsl \ saxon9.jar" "集合(' C:?/ testXsl /在/选择= * XML')" " C:\ testXsl \ XslFile \ test.xsl" >" C:\ testXsl \缺货\ out.xml" 2 - ;" C:\ testXsl \日志\ xsllog.xml"