2014-11-25 4 views
0

Я собираюсь переместить множество настоящих утилит в сборки apache-ant, и у меня возникают трудности при разработке стратегии для конкретной использование случай.с помощью fmpp/ant для создания единого XML-документа из отдельных файлов

Скажем, у меня есть документ, определенный следующим образом:

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> 

Я хотел бы создать муравья задачу, которая принимает эти документы и превращает его в единый документ, например, так:

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

Я решил пойти с FMPP/FreeMaker для выполнения этой задачи (хотя это не требование, похоже, что оно хорошо подойдет моим потребностям).

Есть ли способ определить это преобразование в декларативной задаче apache-ant?

Примечание: Я до сих пор мог запустить базовый мусор fmpp, который отображает файл шаблона подписки против модели данных. Объем моего вопроса конкретно связан с построением документа из нескольких отдельных источников и тем, что может выглядеть как задача.

Приветствия и спасибо за ваше время!

ответ

0

Если document.xml должен быть XML (как противостоять шаблону, который #include -s другие) ... то это не та задача, которая подходит подход FMPP очень много, но в любом случае, я думаю, вы должны использовать режим renderXml обработки FMPP в (см. http://fmpp.sourceforge.net/settings.html#processingMode) для преобразования этого XML. В шаблоне FreeMarker рендеринга, когда вы достигнете элемента Page, вы можете позвонить #include, чтобы вставить указанный XML как есть. (Конечно, многое зависит от того, что еще вы будете делать с этими файлами.)