This document describes the representation of a multi-functional
slide sheet presentation using the Scalable Vector Graphics (SVG)
format and its generation from a complex XML document via XSLT.
Introduction
The 'Knowledge Factory', or wwr-project (referred
as 'wwr'
[2]), is a venture, run by twelve German universities. It aims to
generate multimedia enhanced lectures for Computer Engineering (Technical
Informatics). Unlike other projects in Germany, wwr is not targeted
solely at students. It is specifically designed to allow for a differentiation
between the content provided for lecturers and their target audience.
That is, the content provided for lecturers contains didactic hints
or anecdotes, which may not be included in the students’ version.
Having established the purpose of wwr, the next goal was to provide
script, online and slide versions of the lectures/presentations.
It is necessary to differentiate between online and paper versions,
because the online version allows for the inclusion of animation,
sounds etc., which, of course, cannot be included in script versions.
In order to compensate for its “technological shortcomings”,
the script version is designed to include static pictures and special
text-elements.
The content in wwr is written in XML-notation. This notation contains
detailed information about the content of a document/presentation
[1].
Figure1: Visualisation of conception
Slide Presentation using SVG
The members of wwr needed a way
to demonstrate the contents of their presentations (within lectures,
symposiums, etc.) as slides. The features of SVG, combined with
the fact that the wwr’s content is XML-text based (on wwr’s
own XML Schema) influenced the design team’s decision to utilise
SVG. Using SVG also made it possible to develop a product that is
platform independent – something that is crucial if wwr’s
slide format is to achieve broad acceptance.
Requirements
To ensure these acceptance, there
also had to be imposed high demands upon the viewing tool. This
new tool had to be as functional and comfortable as possible.
This aim led the design team to produce the following minimal requirements
for a new viewing tool:
Platform independency
Full screen view
Consistent layout
The ability to scroll through a document step-by-step,
forwards and backwards
The ability to navigate by keyboard, mouse and/or context
menu
The ability to jump to specific slides (e.g. 'go to'-function)
The freedom to allow individuals to adapt the presentation
to best meet their needs and preferred style of presentation
(e.g. context menu, special text-decorations, etc.)
The ability to use different skins (e.g. usage of CSS)
The ability to use hyperlinks
To contain a paint-function and allow for the usage of
individual markers
To be capable of generating an automated slide show
Figure2: Modified contextual
menu
Transformation from XML-Document to SVG
Focussing upon the process of XSL-Transformations,
it was necessary for the design team to keep its design objectives
in mind. In order to ensure that the transformed documents can be
presented in any format (as a slide show, as script, or online)
an attribute called ‘target’ was introduced. As within
wwr, creation of presentations is left to individual academic staff,
all they need do is to define the target, be it slide, script, or
online, at the time of creating their presentation.
It was decided that the best way
to develop an XSL-Transformation is a modular approach. The Advantages
of a modular system are obvious: better overview, easy debugging,
the ease with which enhancements can be implemented, etc.
Example:
<list target="slide" ordered="no">
<litem><text>line #1 of a list</text></litem>
<litem><text>second item in list</text></litem>
</list>
The above XML-input clearly describes output that is formatted
as a list, in which each member of the list is marked with a bullet
[&9702;]. This list is translated to text within the SVG-slide
using code which follows the format detailed below:
<text x=".." y="..">&9702; line #1 of a list</text>
<text x=".." dy="..(+..*fontsize)">&9702; second item in list</text>
Instead of looking at the implementation of
specific tags, let us consider the slide implementation itself.
The approach is a simple one - displaying one sheet after another.
For this purpose, it is necessary to save, load and change variables
- say: counting! The pure language of SVG does not cater for such
an operation, so it is necessary to resort to the ECMA-script-engine,
which allows for the showing and hiding of individual slides.
Each slide is assigned a number as a unique identifier and is
displayed once the value of the counting variable reaches that
number.
Outlook
The viewing tool designed by the
design team has proven to be capable of dealing with marked-up XML-content
for lectures and automatically generating multi-functional slide
presentations. This type of presentation is highly customizable
to meet the needs of the individual. The tool was designed to meet
a demand expressed by the staff of wwr and will be widely used both
within wwr and by institutions affiliated with wwr.
References
[1]
"The Use of XML for the Development
of an Adaptive Multimedia Teaching and Learning System",
U. Lucke, D. Tavangarian, H.-R. Vatterott, Proceedings of
the World Congress on Networked Learning in a global Environment,
ICSC Academic Press, Canada / The Netherlands, 2002.
[2]
wwr-Project (WissensWerkstatt Rechensysteme):
authors being active members