Мы столкнулись с (слегка) похожей проблемой, которая может помочь вам.
Наша проблема была с BIRT, инструментом генерации отчетов Eclipse. Это хороший продукт, но он требует использования BIRT Eclipse Designer (GUI) для создания определений отчетов (в лучшем случае утомительных, с ошибками в ранних версиях, в частности, с копированием и изменением дизайнов отчетов, что было единственным способом быстро сделать много аналогичные проекты отчетов).
Так как мы хотели, чтобы пакетный подход мог генерировать сотни дизайнов отчетов за один раз (и иметь возможность изменять мелкие стилистические элементы и заново генерировать всю серию заново), мы решили создать собственный Java-интерфейс. инструмент, который взял бы нашу простую спецификацию отчета (50 с лишним строк) и превратил ее непосредственно в файл дизайна отчета BIRT XML (тысячи строк).
У нас уже были простые файлы спецификаций отчетов, так как наша подсистема отчетов уже существовала - мы просто добавляли веб-отчеты в качестве опции.
Это сработало, потому что все наши отчеты следовали одному и тому же основному формату - нам не нужны были очень сложные вещи.
Это означало использование графического интерфейса для создания пары отчетов, а затем перепроектирование их, чтобы выяснить, как генерировать BIRT XML из наших файлов спецификаций. Это было самое трудное.
Похоже, вы могли бы использовать аналогичный подход в своих слайд-шоу. Используйте инструмент с графическим интерфейсом для генерации нужных вам XML-файлов, а затем перепроектируйте их.
Итак, я бы создал полностью пустое слайд-шоу без содержимого, затем создал бы один слайд с текстом, другой с анимацией, другой со встроенным OGG и т. Д., А затем сравнил шаги, чтобы увидеть, как меняется XML для каждого добавленного элемента. .
Затем вы можете создать инструмент, который будет принимать ваши простые команды (например, add-slide
, add-ogg
, add-text
, add-bullet
) и извергать соответствующий XML. Мы не использовали XML в качестве источника (поскольку я терпеть не могу многословия), но, если вы его используете, это может быть просто вопросом преобразований XML, чтобы получить то, что вам нужно.