使用Ant

时间:2016-03-18 11:56:27

标签: xml xslt ant xslt-2.0

所以我有一个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文件,如果是这样会对性能产生负面影响?

1 个答案:

答案 0 :(得分:0)

您当然可以在Ant中执行此操作,但请注意Ant管道永远不会超级高效,因为任务始终处理文件而不是内存中对象。因此,如果几个转换使用相同的文件作为输入,它将被解析几次。从理论上讲,您应该从更加面向XML工作流程的管道工具中获得更好的性能,例如,像Calabash这样的XProc引擎。 (话虽如此,我一直都在使用Ant,并且它的速度足以让我使用它。)