PowerXML: How to use SVG to create an open tool alternative to PowerPoint

Building a presentation entails organizing our thoughts into a logical sequence in order to present them in an easily understandable way.
What does this involve?

Psychologists, communication and cognitive experts and man-machine interface researchers are still debating the best practice, but for millions of people the answer is exactly PowerPoint (Ppt): this software (widely available) makes it easy to create attractive slides full of very pleasant multimedia effects to impress the audience. The Ppt format is a de facto standard that is often required as the official format for presenting.

However there are also several reasons to seek an alternative solution:

For these and other reasons a plethora of alternative tools for creating and displaying presentations were created. To overcome the difficulties to deploy new software use other products such as PDF readers and web browsers. These first products were basic, with few multimedia effects. The publication of Scalable Vector Graphics (SVG) 1.0 Specification, on September 4th 2001, renewed the hopes of realizing competitive presentation tools. Several SVG based products appeared (SVG Slidemaker, Jack SVG...). One of the main limits of these solutions is the positioning and distribution of the text in the slide. To overcome a set of drawbacks of these new proposals and with the aim of developing a more powerful open-source solution we started the project PowerXML totally based on XML technologies and open-source components.

In PowerXML every presentation, stored in a single XML source, is organized into chapters, sections and slides. Every slide is divided into items. It is possible to assign each item a predefined semantic value that clarifies the meaning of the item itself. For example an item can be classified as a definition, a warning statement, or a potential target and so on; these semantic values are interpreted by the application and rendered with different styles. It is possible to assign an id to each element of the presentation (chapter, section, slide, and item) in order to refer to it. This mechanism can be extended to presentation level. In this way, it is possible to include a presentation or a part of it in another presentation, or it is possible to create links between presentations.

It has been defined an XML document, that we called Mixed Style Sheet (a mix of CSS and SVG proprieties) containing all the rendering information of the presentation. The organization of a MSS file is similar to a CSS document where for each object are defined a set of properties as the position in the slide, the background, the animation, the associated icon, the sound and so on.

PowerXML is a web application, based on Cocoon. It generates the slides through the Cocoon pipelines of XSLT transformations, serializing as SVG, PDF, or XHTML page, according to the browser's capabilities. SVG is the main output format; PDF is used prevalently for print output while XHTML has been thought for the browsers without SVG capabilities. Of course the best results are obtained with SVG; in particular in this format the generated slides are full of multimedia effects like animations, sounds, images and icons. For improving the text layout some new features, introduced with SVG 1.2 version as text flow, are heavily used. The SVG format, that we used, respects the accessibility guidelines.

Every slide is generated directly from the XML source and MSS style sheet, this means that the presentation is always coherent with the source and that is always possible to change the style during the presentation. It is also possible to generate immediately all the SVG presentation off-line as a sequence of SVG files, compressed into a zip file. In this way the presentation can be used without Cocoon: of course the presentation will be static, and can not be modified on fly.