所以我有一个XML文件,我需要运行多个转换来使用ANT目标和saxon9he变换器创建网页的各个部分。有很多转换要运行,所以它们被分成了单独的文件。
到目前为止,我有这个适用于1个转换文件:
<target name="transform">
<xslt
basedir="INPUT/"
destdir="OUTPUT/
includes="myfile.xml"
style="INPUT/XSLT/generateSection1.xsl"
classpath="saxon9he.jar;">
<factory name="net.sf.saxon.TransformerFactoryImpl" />
</xslt>
</target>
我意识到为了从这个目标运行多个XSLT文件,我可以运行一个使用<xsl:import>
的XSLT文件来导入我需要的所有其他文件,但我只是想知道是否可以运行使用类似style="Input/XSLT/*.xsl"
之类的特定文件夹中的所有XSLT文件,如果是这样会对性能产生负面影响?
答案 0 :(得分:0)
您当然可以在Ant中执行此操作,但请注意Ant管道永远不会超级高效,因为任务始终处理文件而不是内存中对象。因此,如果几个转换使用相同的文件作为输入,它将被解析几次。从理论上讲,您应该从更加面向XML工作流程的管道工具中获得更好的性能,例如,像Calabash这样的XProc引擎。 (话虽如此,我一直都在使用Ant,并且它的速度足以让我使用它。)