Each slide of an ODP presentation is a draw:page in
office:presentation, holding shapes, its speaker notes and its animations.
Slides are based on master slides in styles.xml. This page follows
OpenDocument 1.3 part 3: section 10.2, 10.7 to 10.9, chapter 15 and sections 16.19,
16.43 and 16.44.
Slides: draw:page
| Attribute | Meaning |
|---|---|
draw:name | The slide’s name, used by custom shows and links. |
draw:id, xml:id | Identifiers. |
draw:master-page-name | The master slide (style:master-page) it is based on. |
draw:style-name | A drawing-page style: background, transition and timing. |
presentation:presentation-page-layout-name | The slide layout (style:presentation-page-layout). |
presentation:use-header-name, presentation:use-footer-name, presentation:use-date-time-name | Which header, footer and date-time declarations the fields on this slide (and on its master) show. |
draw:nav-order | The author’s order of the shapes for keyboard navigation: a list of IDs of every shape not inside a group, each group counting as one. |
Its children are the shapes (draw:frame, draw:rect,
draw:line, draw:polyline, draw:polygon,
draw:regular-polygon, draw:path, draw:circle,
draw:ellipse, draw:connector, draw:caption,
draw:measure, draw:control,
draw:page-thumbnail, draw:g, draw:custom-shape,
draw:a, dr3d:scene), office:forms,
draw:layer-set, svg:title and svg:desc, the
notes (presentation:notes), and the animations, either
presentation:animations or SMIL anim: elements.
<draw:page draw:name="page1" draw:style-name="dp1" draw:master-page-name="Default"
presentation:presentation-page-layout-name="AL1T0">
<draw:frame presentation:style-name="pr1" draw:layer="layout" svg:width="25cm" svg:height="3.5cm"
svg:x="1.5cm" svg:y="0.6cm" presentation:class="title">
<draw:text-box><text:p>Quarterly results</text:p></draw:text-box>
</draw:frame>
<presentation:notes draw:style-name="dp2">
<draw:page-thumbnail presentation:class="page" draw:page-number="1" …/>
<draw:frame presentation:class="notes" …><draw:text-box><text:p>Say hello.</text:p></draw:text-box></draw:frame>
</presentation:notes>
</draw:page>
The names dp1, pr1, AL1T0 and the layer name
layout are as LibreOffice writes them.
Layers
| Element | Meaning | Attributes |
|---|---|---|
draw:layer-set | The layers of a page, a master, or (in office:master-styles) every page without its own. | – |
draw:layer | One layer. Shapes join it by their draw:layer attribute and take its settings; it does not change their stacking order (draw:z-index). May contain svg:title and svg:desc. | draw:name, draw:display, draw:protected |
Presentation shapes
A shape with a presentation:class attribute is a presentation shape: it
belongs to the slide layout, uses a style of the presentation family
(not graphic), may be an empty placeholder, and is moved and resized when
the layout changes. Shapes without the attribute are ordinary drawing shapes.
presentation:class | Kind |
|---|---|
title | Title (text shape) |
subtitle | Subtitle (text shape) |
outline | Outline, the bulleted body text (text shape) |
text | Other text (text shape) |
graphic | Picture (graphic shape) |
object | Embedded object |
chart | Chart (object shape) |
table | Table (object shape) |
orgchart | Organisation chart (object shape) |
page | The slide’s picture on a notes page |
notes | The notes text on a notes page |
handout | A slide placeholder on the handout page |
header, footer, date-time, page-number | Only on master slides: the header, footer, date and slide number boxes, shown according to the master’s settings |
| Attribute | Meaning |
|---|---|
presentation:placeholder | true: the shape is an empty placeholder; false (default): it has content. |
presentation:user-transformed | true: the user set its size and position; false: they come from the master’s matching shape. |
presentation:style-name, presentation:class-names | Its presentation style, then more presentation styles applied in order. |
Notes and handouts
| Element | Meaning | Attributes |
|---|---|---|
presentation:notes | A notes page: a picture of the slide (a draw:page-thumbnail of class page) and the notes (usually a frame of class notes), plus any shapes and forms. Inside a slide it is that slide’s notes; inside a master slide it is the notes master. | draw:style-name, style:page-layout-name, presentation:use-header-name, presentation:use-footer-name, presentation:use-date-time-name |
style:handout-master | Template for printed handouts, in office:master-styles, holding shapes such as handout placeholders. | style:page-layout-name, draw:style-name, presentation:presentation-page-layout-name, presentation:use-header-name, presentation:use-footer-name, presentation:use-date-time-name |
Slide layouts
| Element | Meaning | Attributes |
|---|---|---|
style:presentation-page-layout | A slide layout, in office:styles: a set of placeholders used to make new presentation shapes and to place them when the layout changes. | style:name, style:display-name |
presentation:placeholder | One placeholder of the layout. | presentation:object (the same values as presentation:class), svg:x, svg:y, svg:width, svg:height |
Header, footer and date fields
The header, footer and date-time shapes on master slides show text fields whose text
is declared once in office:presentation and chosen per slide by the
presentation:use-…-name attributes of draw:page. Because the
value can differ from slide to slide, the field’s current value is not stored.
| Element | Meaning | Attributes |
|---|---|---|
presentation:header | Field showing the header text. | – |
presentation:footer | Field showing the footer text. | – |
presentation:date-time | Field showing the date and time text. | – |
presentation:header-decl | A header text; its content is the text. | presentation:name |
presentation:footer-decl | A footer text. | presentation:name |
presentation:date-time-decl | A date-time text. | presentation:name, presentation:source (fixed: the declared text; current-date: the current date and time), style:data-style-name |
<presentation:footer-decl presentation:name="ftr1">Company confidential</presentation:footer-decl>
<presentation:date-time-decl presentation:name="dtd1" presentation:source="current-date" style:data-style-name="D3"/>
<draw:page draw:name="page2" presentation:use-footer-name="ftr1" presentation:use-date-time-name="dtd1" …>
Slide show settings
presentation:settings in office:presentation sets how the
slide show runs, and holds any custom shows.
| Attribute | Meaning |
|---|---|
presentation:start-page | Name of the first slide to show; overrides presentation:show. |
presentation:show | Name of the custom show to run. |
presentation:full-screen | Full screen or in a window. |
presentation:endless | Repeat for ever. |
presentation:pause | Duration of the pause screen between repeats. |
presentation:show-logo | Show an implementation’s logo on the pause screen. |
presentation:force-manual | true: treat every transition as manual. Default false. |
presentation:transition-on-click | enabled (default) or disabled: whether a click moves on. |
presentation:mouse-visible | Show the mouse pointer. |
presentation:mouse-as-pen | Show the pointer as a pen. |
presentation:animations | enabled (default) or disabled: play animated images. |
presentation:start-with-navigator | Open the navigator window at the start. |
presentation:stay-on-top | Keep the show window on top. |
presentation:show-end-of-presentation-slide | Add a closing “end of presentation” slide. |
| Element | Meaning | Attributes |
|---|---|---|
presentation:show | A custom show: a chosen order of slides, which may leave slides out or repeat them. | presentation:name, presentation:pages (slide names, comma-separated, in show order) |
Presentation effects (simple animations)
The older way to animate is a presentation:animations element in the
slide, played when the slide is shown. A shape may have several effects.
| Element | Meaning |
|---|---|
presentation:animations | The slide’s effects. |
presentation:show-shape | The shape appears (it is hidden until then). |
presentation:hide-shape | The shape disappears. |
presentation:show-text | Deprecated: the shape’s text appears. |
presentation:hide-text | The shape’s text disappears. |
presentation:dim | The shape is dimmed to draw:color. |
presentation:play | Sets the playing speed of an animated shape. |
presentation:animation-group | Effects inside it happen at the same time. |
presentation:sound | A sound with an effect: xlink:href, presentation:play-full (true: the next effect waits for the sound to end). |
The show and hide elements take draw:shape-id (the shape),
presentation:effect, presentation:direction,
presentation:speed (slow, medium (default),
fast), presentation:delay (a duration after the previous
effect), presentation:start-scale (starting size, default 100%) and
presentation:path-id (a polygon shape to move along, hidden during the
show).
presentation:effect
none (default), appear, hide,
fade, move, move-short (clipped to the final
rectangle), stripes, open (line by line from the centre),
close (from the edge), dissolve, wavyline,
random, lines, laser (text shapes only:
characters fly in one by one from the top), stretch, rotate
and checkerboard.
presentation:direction
none (default), from-left, from-top,
from-right, from-bottom, from-center,
from-upper-left, from-upper-right,
from-lower-left, from-lower-right, to-left,
to-top, to-right, to-bottom,
to-center, to-upper-left, to-upper-right,
to-lower-left, to-lower-right, horizontal,
vertical, clockwise, counter-clockwise,
path, spiral-inward-left, spiral-inward-right,
spiral-outward-left and spiral-outward-right. (The
specification’s descriptions of horizontal and path are
copied from from-bottom by mistake.)
Click actions
presentation:event-listener (inside a shape’s
office:event-listeners) says what happens when a shape is clicked:
script:event-name, presentation:action, and depending on the
action xlink:href, presentation:verb, a
presentation:sound, or the effect attributes.
presentation:action | Effect |
|---|---|
none | Nothing. |
previous-page, next-page, first-page, last-page, last-visited-page | Go to that slide. |
hide | Hide the shape. |
fade-out | Fade the shape out with the given effect, direction, speed and scale. |
show | Open the IRI in xlink:href. |
execute | Start the program in xlink:href. |
sound | Play the child presentation:sound. |
verb | Run OLE verb number presentation:verb of the object. |
stop | End the slide show. |
SMIL animations
The richer way to animate, used by current programs, puts SMIL 2.0 timing elements
straight in draw:page. They allow several effects per shape, effects
started by clicks and automatically on the same slide, and effects running at once.
An effect is a group of animation elements acting on one shape or its paragraphs.
| Element | Meaning |
|---|---|
anim:par | Children start together. |
anim:seq | Children start one after another. |
anim:iterate | Applies its effects to each child of the target (each paragraph, word or letter) in turn, anim:iterate-interval apart; anim:iterate-type says which. |
anim:animate | Animates an attribute (SMIL animate). |
anim:set | Sets an attribute for a time, such as visibility (SMIL set). |
anim:animateMotion | Moves the shape along svg:path (SVG animateMotion). |
anim:animateColor | Animates a colour; anim:color-interpolation (rgb or hsl) and anim:color-interpolation-direction. |
anim:animateTransform | Animates a transform of type svg:type (SVG animateTransform). |
anim:transitionFilter | A transition (SMIL transitionFilter): smil:type, smil:subtype, smil:direction, smil:mode, smil:fadeColor. |
anim:audio | Plays a sound (xlink:href, anim:audio-level). |
anim:command | A command, such as playing a media object (anim:command), with anim:param children (anim:name, anim:value). |
Timing uses the SMIL attributes smil:begin, smil:end,
smil:dur, smil:fill, smil:fillDefault,
smil:repeatCount, smil:repeatDur, smil:restart,
smil:restartDefault, smil:accelerate,
smil:decelerate, smil:autoReverse and
smil:endsync; animation values use smil:attributeName,
smil:targetElement, smil:from, smil:to,
smil:by, smil:values, smil:keyTimes,
smil:keySplines, smil:calcMode,
smil:accumulate and smil:additive, plus
anim:formula and anim:sub-item (the whole shape, its
background or its text).
The containers also carry presentation attributes that record how the effect was made:
| Attribute | Values |
|---|---|
presentation:node-type | default, timing-root (the slide’s root), main-sequence, interactive-sequence (started by clicking a shape), on-click, with-previous, after-previous. |
presentation:preset-class | custom (default), entrance, exit, emphasis, motion-path, ole-action, media-call. |
presentation:preset-id, presentation:preset-sub-type | The preset’s name and variant, as the program calls them. |
presentation:group-id, presentation:master-element | Group effects together, and point at the main element of a group. |
<anim:par presentation:node-type="timing-root">
<anim:seq presentation:node-type="main-sequence">
<anim:par smil:begin="next">
<anim:par smil:begin="0s">
<anim:par smil:begin="0s" smil:fill="hold" presentation:node-type="on-click"
presentation:preset-class="entrance" presentation:preset-id="ooo-entrance-appear">
<anim:set smil:begin="0s" smil:dur="0.001s" smil:fill="hold" smil:targetElement="id1"
smil:attributeName="visibility" smil:to="visible"/>
</anim:par>
</anim:par>
</anim:par>
</anim:seq>
</anim:par>
A shape that appears on a click, as LibreOffice writes it; the preset name
ooo-entrance-appear is LibreOffice’s. Slide transitions themselves are
set in the slide’s drawing-page style (see
styles and slide
transitions), and every attribute value is listed on the
animation values page.