我正在将许多命令式的实用程序迁移到apache构建中,我在为特定用例制定策略时遇到了一些困难。
假设我有一个定义如下的文档:
document.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任务中定义此转换?
注意:到目前为止,我已经能够运行一个基本的fmpp,它根据数据模型呈现一个签名模板文件。我问题的范围具体涉及从多个不同来源构建一个文档,以及作为一项任务可能是什么样子。
干杯,谢谢你的时间!
发布于 2014-11-26 20:54:29
如果document.xml必须是XML (与#include-s的模板相反).然后,这并不是一个非常适合FMPP方法的任务,但无论如何,我想您应该使用FMPP的renderXml处理模式(请参阅http://fmpp.sourceforge.net/settings.html#processingMode)来转换该XML。在呈现器FreeMarker模板中,当您到达Page元素时,可以调用#include来按原样插入引用的XML。(当然,这在很大程度上取决于您还需要对这些文件做些什么。)
https://stackoverflow.com/questions/27136953
复制相似问题