Each slide is its own part, such as ppt/slides/slide1.xml, with the root
element p:sld. The part names say nothing about the order: that comes from
p:sldIdLst. A slide’s
relationships lead to its layout, notes, comments and media.
<p:sld xmlns:p="…" xmlns:a="…" xmlns:r="…" show="1">
<p:cSld>
<p:spTree>
<p:nvGrpSpPr>…</p:nvGrpSpPr>
<p:grpSpPr/>
<p:sp>
<p:nvSpPr>
<p:cNvPr id="2" name="Title 1"/>
<p:cNvSpPr/>
<p:nvPr><p:ph type="title"/></p:nvPr>
</p:nvSpPr>
<p:spPr/>
<p:txBody>
<a:bodyPr/>
<a:p><a:r><a:t>A title</a:t></a:r></a:p>
</p:txBody>
</p:sp>
</p:spTree>
</p:cSld>
</p:sld>
The shape tree
p:spTree holds the slide’s shapes, in drawing order: the first is at the
back. It is itself a group.
| Element | Is |
|---|---|
p:sp | A shape: an auto-shape, a text box or a placeholder. |
p:pic | A picture: p:blipFill/a:blip names the image by r:embed or r:link. |
p:graphicFrame | A frame for a table, a chart, a SmartArt diagram or an embedded object. |
p:grpSp | A group that holds more of these. |
p:cxnSp | A connector. |
mc:AlternateContent | Markup compatibility: a mc:Choice for readers that know a feature and a mc:Fallback for those that do not. |
Shape properties
Each shape has a non-visual part (p:nvSpPr: id and name, and in
p:nvPr a placeholder p:ph) and visual properties in
p:spPr: position and size in a:xfrm (in EMUs), geometry and
line.
A placeholder shape has a p:ph whose type is one of
title, ctrTitle, subTitle, body,
obj, chart, tbl, dgm,
pic, dt, ftr, sldNum, and others,
and whose idx links it to the placeholder on the layout.
Tables, charts and diagrams
A p:graphicFrame holds an a:graphic whose
a:graphicData has a uri saying what it is.
| uri ends in | Holds |
|---|---|
/drawingml/2006/table | a:tbl with a:tr rows and a:tc cells, each with an a:txBody. |
/drawingml/2006/chart | A c:chart with an r:id to a chart part. |
/drawingml/2006/diagram | dgm:relIds pointing to the diagram’s data, layout, style and colour parts. |
/presentationml/2006/ole | An embedded OLE object. |
Slide settings
On p:sld, show="0" hides a slide from the show. Transitions
and animations are in p:transition and p:timing, after
p:clrMapOvr.