General Architecture for Generation of Slide Presentations

909 views
761 views

Published on

Slides of presentation given at Balisage 2013. These slides were generated by the Slidinator DITA2PPTX transform (https://github.com/drmacro/slidinator) and then adjusted in PPTX to correct the formatting of a couple of slides.

Published in: Technology, Education
2 Comments
1 Like
Statistics
Notes
  • 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.
       Reply 
    Are you sure you want to  Yes  No
    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
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total views
909
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
11
Comments
2
Likes
1
Embeds 0
No embeds

No notes for slide

General Architecture for Generation of Slide Presentations

  1. 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. 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. 3. Agenda • General problem statement • Framework for general XML to slide presentation transformation • Implementation details • Conclusions and future work • Demonstration
  4. 4. Immediate Problem: PowerPoint from DITA • Client requirement: generate PowerPoint slides from DITA XML source
  5. 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. 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. 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. 8. Framework Diagram
  9. 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. 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="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:ns:dita4publishers.org:doctypes:simpleslideset ../simpleslideset.xsd" xmlns:sld="urn:ns:dita4publishers.org:doctypes:simpleslideset"> <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. 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. 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. 13. Implementation Challenges • POI library is not fully baked • Understanding the intricacies of PPTX • Time
  14. 14. Conclusions • POI made initial implementation quite easy • Utility seems pretty obvious • Challenges imposed by constrained presentation space remain
  15. 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. 16. Demo • These slides as presented in PowerPoint format • If time permits, let's look at code.
  17. 17. Resources • DITA for Publishers: http://dita4publishers.sourceforge.net • Apache POI: http://poi.apache.org • Me: ekimber@contrext.com, http://contrext.com

×