【问题标题】:ANT target for applying an XSLT stylesheet to a directory of XML files用于将 XSLT 样式表应用到 XML 文件目录的 ANT 目标
【发布时间】:2022-09-23 16:57:21
【问题描述】:

我正在将一系列 XML 文件复制到一个目录中,并且我想将样式表应用于该目录中的所有 XML 文件 (D:\\workspace\\Filtered),但我无法弄清楚 @987654322 的语法@ 和 targetfile

    <fileset id=\"xmlfileset\" dir=\"D:\\workspace\">
      <include name=\"*.xml\" />
      <include name=\"*.XML\" />
      <exclude name=\"build_*\" />
    </fileset>
    
    <target name=\"Filtering\">
    
    <mkdir dir=\"D:\\workspace\\Filtered\"/>
    <copy todir=\"D:\\workspace\\Filtered\">
      <fileset refid=\"xmlfileset\"/>
    </copy>
    <apply executable=\"msxsl.exe\">

      <srcfile/>
      <!-- what goes here -->

      <arg value=\"D:\\workspace\\sample.xslt\"/>
      <arg value=\"-xe\"/>
      <arg value=\"-xw\"/>
      <arg value=\"-o\"/>

      <targetfile />
      <!-- and  here -->

    </apply>
  </target>

    标签: xml xslt ant


    【解决方案1】:

    您可能需要添加文件集来告诉它要为哪些文件运行命令,并且可能需要a file name mapper 来创建一个具有新名称(可能是新扩展名)的文件。

    每次运行可执行文件时,srcfile 和 targetfile 元素都会填充这些文件名。

    两者都应该在 apply 元素中。就像是:

    <apply executable="msxsl.exe">
      <fileset refid="xmlfileset"/>
      <globmapper from="*.[xX][mM][lL]" to="*.NewExtension"/>
    
      <srcfile/>
    
      <arg value="D:\workspace\sample.xslt"/>
      <arg value="-xe"/>
      <arg value="-xw"/>
      <arg value="-o"/>
    
      <targetfile />
    </apply>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-13
      相关资源
      最近更新 更多