0

我正在将许多命令式实用程序转移到 apache-ant 构建中,并且在为特定用例制定策略时遇到了一些困难。

假设我有一个这样定义的文档:

文档.xml

<Document>
  <Page source="page1.xml" />
  <Page source="page2.xml" />
</Document>

page1.xml

<Page title="Page 1">
</Page>

page2.xml

<Page title="Page 2">
</Page>

我想创建一个 ant 任务来获取这些文档并将其转换为单个文档,如下所示:

<Document>
  <Page title="Page 1">
  </Page>
  <Page title="Page 2">
  </Page>
</Document>

我决定使用 fmpp/FreeMaker 来完成这项任务(虽然这不是必需的,但它似乎很适合我的需要)。

有没有办法在声明性 apache-ant 任务中定义这种转换?

注意:到目前为止,我已经能够运行一个基本的 fmpp ant,它针对数据模型呈现一个信号模板文件。我的问题的范围与从多个单独来源构建文档以及这可能看起来像一项任务有关。

干杯并感谢您的宝贵时间!

4

1 回答 1

0

如果document.xml必须是 XML(与#include其他模板相反)......那么这不是一项非常适合 FMPP 方法的任务,但无论如何,我想你应该使用 FMPP 的renderXml处理模式(参见http://fmpp .sourceforge.net/settings.html#processingMode)来转换该 XML。在渲染器 FreeMarker 模板中,当您到达Page元素时,您可以调用#include以按原样插入引用的 XML。(当然,很大程度上取决于您还需要对这些文件做什么。)

于 2014-11-26T20:54:29.137 回答