General Architecture for Generation of Slide Presentations

Uploaded on

Slides of presentation given at Balisage 2013. These slides were generated by the Slidinator DITA2PPTX transform ( and then adjusted in PPTX to correct the …

Slides of presentation given at Balisage 2013. These slides were generated by the Slidinator DITA2PPTX transform ( and then adjusted in PPTX to correct the formatting of a couple of slides.

More in: Technology , Education
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
  • No, I meant that the transforms are so trivial as to not be interesting (at least to the Balisage audience). The toolkit plugin that's in the source code repository is not actually doing anything other than providing the XSLTs, it hasn't been made into a fully-functional OT transformation type.
    Are you sure you want to
    Your message goes here
  • Hi Eliot,
    When you say it's not interesting, does that imply DITA OT transform do not work for this Slidinator project? at the time of writing, the DITA OT plugin designed for this project keeps throwing errors.thanks
    Are you sure you want to
    Your message goes here
No Downloads


Total Views
On Slideshare
From Embeds
Number of Embeds



Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

    No notes for slide


  • 1. General Architecture for Generation of Slide Presentations Making slide presentations from XML through a general framework, with a focus on PowerPoint. Eliot Kimber, Contrext, LLCBalisage, 2013
  • 2. About the Author • Doing SGML and XML for cough 30 years cough • Member of the DITA Technical Committee • Founding member of the XML Working Group • Co-editor of HyTime standard (ISO/IEC 10744) • Primary developer and founder of the DITA for Publishers project • Independent consultant focusing on DITA analysis, design, and implementation • Author of DITA for Practitioners, Vol 1 (XML Press)
  • 3. Agenda • General problem statement • Framework for general XML to slide presentation transformation • Implementation details • Conclusions and future work • Demonstration
  • 4. Immediate Problem: PowerPoint from DITA • Client requirement: generate PowerPoint slides from DITA XML source
  • 5. More General: XML to Slides • Given arbitrary XML content... • ...produce a slide-style presentation of some form • Many ways to present slides: – PowerPoint and whatever Apple provides – Slidey and similar HTML5-based slide systems – PDF, etc.
  • 6. Implied Requirements • General transformation framework • Implies intermediate format: – Single target from XML – Single source to slide presentation • Style definition and application convenience • Relative ease of implementation and extension
  • 7. Framework for Slide Generation • Transform through a generic slide representation XML format • Abstract things that are important and interesting about slides • Transforms from arbitrary XML vocabularies to intermediate format • Transforms from intermediate format to arbitrary slide presentation formats • Separation of concerns between source-to-slides generally and detail of generating a specific slide format
  • 8. Framework Diagram
  • 9. Implementation • SlideSetML: intermediate format for abstract slides • XSLT from base source to SlideSetML • Java to generate non-XML/HTML outputs • XSLT to generate XML or HTML outputs • Initial focus is PPTX from DITA XML
  • 10. SimpleSlideSetML • Purely pragmatic XML representation of slide presentation content – Slides – Slide masters – Named styles for content elements – Reasonable grouping structures (slide sets, sections, etc.) <sld:simpleslideset xmlns:xsi="" xsi:schemaLocation=" ../simpleslideset.xsd" xmlns:sld=""> <sld:prolog> ... </sld:prolog> <sld:styles> ... </sld:styles> <sld:slides> <sld:slide> <sld:title> <sld:p style="Title">The Slide Title</sld:p> </sld:title> <sld:slidebody> <sld:p>The slide body</sld:p> </sld:slidebody> </sld:slide> ... </sld:slides> </sld:simpleslideset>
  • 11. DITA-to-SimpleSlideSet • Produces SimpleSlideSet XML from DITA maps and topics • Uses DITA for Publishers and DITA Open Toolkit DITA processing infrastructure • Not very interesting
  • 12. SimpleSlideSet to PPTX • Apache POI Java library for generating PPTX files • D4P Java data model for SimpleSlideSet • Visitor pattern for operating on the SimpleSlideSet model • PPTX-generating visitor • No surprise: mapping from SimpleSlideSet to PPTX model is pretty direct • POI handles most of the detail complexity
  • 13. Implementation Challenges • POI library is not fully baked • Understanding the intricacies of PPTX • Time
  • 14. Conclusions • POI made initial implementation quite easy • Utility seems pretty obvious • Challenges imposed by constrained presentation space remain
  • 15. Future Work • Finish out set of slide body elements needed for reasonable presentation options • DITA specializations to enable appropriate crafting of slide content • Finish out initial implementation • How to handle things like animation • Output to other slide presentation formats
  • 16. Demo • These slides as presented in PowerPoint format • If time permits, let's look at code.
  • 17. Resources • DITA for Publishers: • Apache POI: • Me:,