This is the third and final post on the topic of the artificial complexity of the OOXML format. This complexity is the result of careful design aimed at preventing interoperability. Developers have to deal with a veritable “maze” of tags, even for the simplest content. This binds users to the Microsoft ecosystem, providing the first example of standard-based lock-in.
The PPTX case
To demonstrate the difference in complexity between Impress and PowerPoint XML schemas in ODF and OOXML formats, I created a simple eight-slide presentation summarising the most common types: title and subtitle, centred text, bulleted list, table, vector image, photo, colour graphics and video. I created the same file using both software programmes, starting from a basic template without a background to prevent interference with the slide format and, consequently, the XML schema.
This is the PDF file of the presentation (the first seven slides are identical, while the video on the last slide is replaced by a static image):
slideloTo perform the analysis, I duplicated and renamed the two files, replacing the original extension with ‘ZIP’, and then unzipped them to create two folders containing all the files from their respective XML schemas.
The LibreOffice folder is very similar to the one created by Calc and Writer, containing five subfolders – three of which are identical to those of the ODS and ODT files – and five files. manifest.rdf is missing, but all the others are present and have the same characteristics. The Media and Pictures folders were added to contain multimedia content and images. Once again, all the content is located in the content.xml file, while the other files contain instructions for displaying the slides correctly and for displaying elements other than text.
Therefore, despite the diversity of the three applications (Calc, Writer and Impress), we are faced with an extremely consistent internal file structure, as one would expect from a standard that aims to simplify life for users and developers. This consistency is a key benefit and simplifies the reproducibility of the standard format.
The Microsoft 365 folder contains three subfolders and the [Content_Types].xml file, as with the XLSX and DOCX files examined in the last two weeks. One of the folders has a different name, but this relates to the application and does not increase complexity. Opening the ‘[Content_Types].xml’ file provides information about the other files, including those in the subfolders.
In this case, the content is located in eight slide*.xml files (where the asterisk is a sequential number) inside the slide folder within the ppt folder. These folders and files are completely different to those in the XLSX and DOCX files, but information relevant to displaying slides on screen is scattered throughout them. Again, there are no technical reasons for the differences in the XML schemas of the three files other than to make their internal structures more complex. This unnecessary complexity is also reflected in the XML files describing the contents of the presentation.
The ODP file
As with ODS and ODT files, the content.xml file is divided into two parts: the description of styles, which varies depending on the number and characteristics of the styles used in the document; and the description of the content itself, which varies depending on its length. In the case of a presentation, the style description can be extremely detailed and quite long if the slides contain different elements, as in the document I created for this comparison.
To avoid repetition, I extracted the first part of the content.xml file and simplified the style descriptions where they were repetitive (e.g. slide 7, where each coloured box corresponds to a style). In all these cases, I removed the less significant descriptions, leaving only the most detailed one.
The sequence is as follows: slide style; graphic element style (specifically, the red box on slide 7); title style; table, column, row and cell style; paragraph style; text style; and bullet point style.
CONTENT.XML (style description).
<office:automatic-styles>
<style:style style:name=”dp1″ style:family=”drawing-page”>
<style:drawing-page-properties presentation:background-visible=”true” presentation:background-objects-visible=”true” presentation:display-footer=”true” presentation:display-page-number=”false” presentation:display-date-time=”true”/>
</style:style>
<style:style style:name=”gr4″ style:family=”graphic” style:parent-style-name=”standard”>
<style:graphic-properties svg:stroke-color=”#000000″ draw:fill-color=”#ff0000″ draw:textarea-horizontal-align=”justify” draw:textarea-vertical-align=”middle” draw:auto-grow-height=”false” fo:min-height=”2.854cm” fo:min-width=”3.509cm” loext:decorative=”false”/>
</style:style>
<style:style style:name=”pr1″ style:family=”presentation” style:parent-style-name=”Default-title”>
<style:graphic-properties fo:min-height=”2.63cm” loext:decorative=”false”/>
<style:paragraph-properties style:writing-mode=”lr-tb”/>
</style:style>
<style:style style:name=”co1″ style:family=”table-column”>
<style:table-column-properties style:column-width=”11.988cm” style:use-optimal-column-width=”false”/>
</style:style>
<style:style style:name=”ro1″ style:family=”table-row”>
<style:table-row-properties style:row-height=”1.683cm” style:use-optimal-row-height=”false”/>
</style:style>
<style:style style:name=”ce1″ style:family=”table-cell”>
<style:text-properties style:font-name=”Aptos” fo:font-size=”24pt” style:font-size-asian=”24pt” style:font-size-complex=”24pt”/>
</style:style>
<style:style style:name=”P1″ style:family=”paragraph”>
<style:text-properties style:font-name=”Aptos” fo:font-size=”36pt” fo:font-weight=”bold” style:font-size-asian=”36pt” style:font-weight-asian=”bold” style:font-size-complex=”36pt” style:font-weight-complex=”bold”/>
<style:style style:name=”T1″ style:family=”text”>
<style:text-properties style:font-name=”Aptos” fo:font-size=”36pt” fo:font-weight=”bold” style:font-size-asian=”36pt” style:font-weight-asian=”bold” style:font-size-complex=”36pt” style:font-weight-complex=”bold”/>
</style:style>
<text:list-style style:name=”L1″>
<text:list-level-style-bullet text:level=”1″ text:bullet-char=”●”>
<style:list-level-properties text:min-label-width=”0.6cm”/>
<style:text-properties fo:font-family=”StarSymbol” style:use-window-font-color=”true” fo:font-size=”45%”/>
</text:list-level-style-bullet>
</text:list-style>
</office:automatic-styles>
CONTENT.XML (content description)
<office:body>
<office:presentation>
<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:text-style-name=”P1″ draw:layer=”layout” svg:width=”25.199cm” svg:height=”2.63cm” svg:x=”1.4cm” svg:y=”0.627cm” presentation:class=”title” presentation:user-transformed=”true”>
<draw:text-box>
<text:p text:style-name=”P1″>
<text:span text:style-name=”T1″>Lorem Ipsum</text:span>
</text:p>
</draw:text-box>
</draw:frame>
<draw:frame presentation:style-name=”pr2″ draw:text-style-name=”P3″ draw:layer=”layout” svg:width=”23.952cm” svg:height=”8.03cm” svg:x=”2.019cm” svg:y=”3.992cm” presentation:class=”subtitle” presentation:user-transformed=”true”>
<draw:text-box>
<text:p text:style-name=”P2″>
<text:span text:style-name=”T2″>Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit…</text:span>
</text:p>
</draw:text-box>
</draw:frame>
<presentation:notes draw:style-name=”dp2″>
<draw:page-thumbnail draw:style-name=”gr1″ draw:layer=”layout” svg:width=”14.848cm” svg:height=”11.136cm” svg:x=”3.075cm” svg:y=”2.257cm” draw:page-number=”1″ presentation:class=”page”/>
<draw:frame presentation:style-name=”pr3″ draw:text-style-name=”P4″ draw:layer=”layout” svg:width=”16.799cm” svg:height=”13.364cm” svg:x=”2.1cm” svg:y=”14.107cm” presentation:class=”notes” presentation:placeholder=”true”>
<draw:text-box/>
</draw:frame>
</presentation:notes>
</draw:page>
<draw:page draw:name=”page2″ draw:style-name=”dp1″ draw:master-page-name=”Default” presentation:presentation-page-layout-name=”AL2T32″>
<draw:frame presentation:style-name=”pr4″ draw:text-style-name=”P5″ draw:layer=”layout” svg:width=”23.975cm” svg:height=”11.976cm” svg:x=”2.019cm” svg:y=”2.019cm” presentation:class=”subtitle” presentation:user-transformed=”true”>
<draw:text-box>
<text:p text:style-name=”P2″>
<text:span text:style-name=”T3″>Lorem ipsum dolor sit amet, consectetur adipiscing elit. In at sodales arcu, sollicitudin eleifend justo. Integer in ornare leo. Pellentesque ultrices sapien pharetra lectus finibus cursus. Vestibulum pulvinar, ex sed interdum pharetra, est risus efficitur arcu, ac aliquet ante diam ac eros. Sed vitae dui nec odio rutrum ornare. Cras in neque et neque cursus vehicula. Mauris posuere sed lorem at faucibus.</text:span>
</text:p>
</draw:text-box>
</draw:frame>
<presentation:notes draw:style-name=”dp2″>
<draw:page-thumbnail draw:style-name=”gr1″ draw:layer=”layout” svg:width=”14.848cm” svg:height=”11.136cm” svg:x=”3.075cm” svg:y=”2.257cm” draw:page-number=”2″ presentation:class=”page”/>
<draw:frame presentation:style-name=”pr3″ draw:text-style-name=”P4″ draw:layer=”layout” svg:width=”16.799cm” svg:height=”13.364cm” svg:x=”2.1cm” svg:y=”14.107cm” presentation:class=”notes” presentation:placeholder=”true”>
<draw:text-box/>
</draw:frame>
</presentation:notes>
</draw:page>
<draw:page draw:name=”page3″ draw:style-name=”dp1″ draw:master-page-name=”Default” presentation:presentation-page-layout-name=”AL3T1″>
<draw:frame presentation:style-name=”pr5″ draw:text-style-name=”P1″ draw:layer=”layout” svg:width=”25.199cm” svg:height=”2.63cm” svg:x=”1.4cm” svg:y=”0.627cm” presentation:class=”title”>
<draw:text-box>
<text:p text:style-name=”P1″>
<text:span text:style-name=”T1″>Mauris efficitur volutpat dictum</text:span>
</text:p>
</draw:text-box>
</draw:frame>
<draw:frame presentation:style-name=”pr6″ draw:text-style-name=”P6″ draw:layer=”layout” svg:width=”25.199cm” svg:height=”10.049cm” svg:x=”1.4cm” svg:y=”3.992cm” presentation:class=”outline” presentation:user-transformed=”true”>
<draw:text-box>
<text:list text:style-name=”L2″>
<text:list-item>
<text:p text:style-name=”P6″>
<text:span text:style-name=”T3″>Praesent tempus sodales lacus at accumsan.</text:span>
</text:p>
</text:list-item>
<text:list-item>
<text:p text:style-name=”P6″>
<text:span text:style-name=”T2″>Pellentesque vel neque rutrum, posuere sapien eget, eleifend leo.</text:span>
</text:p>
</text:list-item>
<text:list-item>
<text:p text:style-name=”P6″>
<text:span text:style-name=”T2″>Proin ut ultricies magna.</text:span>
</text:p>
</text:list-item>
<text:list-item>
<text:p text:style-name=”P6″>
<text:span text:style-name=”T2″>Nulla facilisi.</text:span>
</text:p>
</text:list-item>
<text:list-item>
<text:p text:style-name=”P6″>
<text:span text:style-name=”T2″>Donec sed risus quis tellus facilisis elementum.</text:span>
</text:p>
</text:list-item>
<text:list-item>
<text:p text:style-name=”P6″>
<text:span text:style-name=”T2″>Vivamus sit amet semper nisl, vel tristique mi.</text:span>
</text:p>
</text:list-item>
<text:list-item>
<text:p text:style-name=”P6″>
<text:span text:style-name=”T2″>Aenean lobortis neque in malesuada ornare.</text:span>
</text:p>
</text:list-item>
</text:list>
</draw:text-box>
</draw:frame>
<presentation:notes draw:style-name=”dp2″>
<draw:page-thumbnail draw:style-name=”gr1″ draw:layer=”layout” svg:width=”14.848cm” svg:height=”11.136cm” svg:x=”3.075cm” svg:y=”2.257cm” draw:page-number=”3″ presentation:class=”page”/>
<draw:frame presentation:style-name=”pr3″ draw:text-style-name=”P4″ draw:layer=”layout” svg:width=”16.799cm” svg:height=”13.364cm” svg:x=”2.1cm” svg:y=”14.107cm” presentation:class=”notes” presentation:placeholder=”true”>
<draw:text-box/>
</draw:frame>
</presentation:notes>
</draw:page>
<draw:page draw:name=”page4″ draw:style-name=”dp1″ draw:master-page-name=”Default” presentation:presentation-page-layout-name=”AL3T1″>
<draw:frame presentation:style-name=”pr5″ draw:text-style-name=”P1″ draw:layer=”layout” svg:width=”25.199cm” svg:height=”2.63cm” svg:x=”1.4cm” svg:y=”0.627cm” presentation:class=”title”>
<draw:text-box>
<text:p text:style-name=”P1″>
<text:span text:style-name=”T1″>Proin sed mattis elit</text:span>
</text:p>
</draw:text-box>
</draw:frame>
<draw:frame draw:style-name=”gr2″ draw:layer=”layout” svg:width=”23.974cm” svg:height=”8.274cm” svg:x=”2.042cm” svg:y=”3.964cm” presentation:class=”table” presentation:user-transformed=”true”>
<table:table table:template-name=”default” table:use-first-row-styles=”true” table:use-banding-rows-styles=”true”>
<table:table-column table:style-name=”co1″/>
<table:table-column table:style-name=”co2″/>
<table:table-row table:style-name=”ro1″ table:default-cell-style-name=”ce1″>
<table:table-cell>
<text:p text:style-name=”P7″>Aenean ultricies turpis eu erat euismod porta.</text:p>
</table:table-cell>
<table:table-cell>
<text:p text:style-name=”P7″>Maecenas nec ullamcorper odio, ac tincidunt metus.</text:p>
</table:table-cell>
</table:table-row>
<table:table-row table:style-name=”ro1″ table:default-cell-style-name=”ce1″>
<table:table-cell>
<text:p text:style-name=”P7″>Duis volutpat sapien at interdum consequat.</text:p>
</table:table-cell>
<table:table-cell>
<text:p text:style-name=”P7″>Donec vel semper nisl.</text:p>
</table:table-cell>
</table:table-row>
<table:table-row table:style-name=”ro1″ table:default-cell-style-name=”ce1″>
<table:table-cell>
<text:p text:style-name=”P7″>Sed scelerisque odio non justo suscipit congue.</text:p>
</table:table-cell>
<table:table-cell>
<text:p text:style-name=”P7″>Maecenas convallis quis neque at elementum.</text:p>
</table:table-cell>
</table:table-row>
<table:table-row table:style-name=”ro2″ table:default-cell-style-name=”ce1″>
<table:table-cell table:number-columns-spanned=”2″>
<text:p text:style-name=”P7″>In fringilla tortor id orci porttitor, a euismod velit molestie.</text:p>
</table:table-cell>
<table:covered-table-cell/>
</table:table-row>
</table:table>
<draw:image xlink:href=”Pictures/TablePreview1.svm” xlink:type=”simple” xlink:show=”embed” xlink:actuate=”onLoad”/>
</draw:frame>
<presentation:notes draw:style-name=”dp2″>
<draw:page-thumbnail draw:style-name=”gr1″ draw:layer=”layout” svg:width=”14.848cm” svg:height=”11.136cm” svg:x=”3.075cm” svg:y=”2.257cm” draw:page-number=”4″ presentation:class=”page”/>
<draw:frame presentation:style-name=”pr3″ draw:text-style-name=”P4″ draw:layer=”layout” svg:width=”16.799cm” svg:height=”13.364cm” svg:x=”2.1cm” svg:y=”14.107cm” presentation:class=”notes” presentation:placeholder=”true”>
<draw:text-box/>
</draw:frame>
</presentation:notes>
</draw:page>
<draw:page draw:name=”page5″ draw:style-name=”dp1″ draw:master-page-name=”Default” presentation:presentation-page-layout-name=”AL4T19″>
<draw:frame presentation:style-name=”pr5″ draw:text-style-name=”P1″ draw:layer=”layout” svg:width=”25.199cm” svg:height=”2.63cm” svg:x=”1.4cm” svg:y=”0.627cm” presentation:class=”title”>
<draw:text-box>
<text:p text:style-name=”P1″>
<text:span text:style-name=”T1″>Aliquam lobortis rutrum massa</text:span>
</text:p>
</draw:text-box>
</draw:frame>
<draw:frame draw:style-name=”gr3″ draw:text-style-name=”P8″ draw:layer=”layout” svg:width=”19.983cm” svg:height=”10.119cm” svg:x=”4.015cm” svg:y=”3.945cm”>
<draw:image xlink:href=”Pictures/10004DCD0000333B00001B9032A76A02.svg” xlink:type=”simple” xlink:show=”embed” xlink:actuate=”onLoad” draw:mime-type=”image/svg+xml”>
<text:p/>
</draw:image>
<draw:image xlink:href=”Pictures/10000001000001F00000010B2D77AC6F.png” xlink:type=”simple” xlink:show=”embed” xlink:actuate=”onLoad” draw:mime-type=”image/png”/>
</draw:frame>
<presentation:notes draw:style-name=”dp2″>
<draw:page-thumbnail draw:style-name=”gr1″ draw:layer=”layout” svg:width=”14.848cm” svg:height=”11.136cm” svg:x=”3.075cm” svg:y=”2.257cm” draw:page-number=”5″ presentation:class=”page”/>
<draw:frame presentation:style-name=”pr3″ draw:text-style-name=”P4″ draw:layer=”layout” svg:width=”16.799cm” svg:height=”13.364cm” svg:x=”2.1cm” svg:y=”14.107cm” presentation:class=”notes” presentation:placeholder=”true”>
<draw:text-box/>
</draw:frame>
</presentation:notes>
</draw:page>
<draw:page draw:name=”page6″ draw:style-name=”dp1″ draw:master-page-name=”Default”>
<draw:frame draw:style-name=”gr3″ draw:text-style-name=”P8″ draw:layer=”layout” svg:width=”23.956cm” svg:height=”11.952cm” svg:x=”2.049cm” svg:y=”2.019cm”>
<draw:image xlink:href=”Pictures/100000000000140800000C3850FDFB6D.jpg” xlink:type=”simple” xlink:show=”embed” xlink:actuate=”onLoad” draw:mime-type=”image/jpeg”>
<text:p/>
</draw:image>
</draw:frame>
<presentation:notes draw:style-name=”dp2″>
<draw:page-thumbnail draw:style-name=”gr1″ draw:layer=”layout” svg:width=”14.848cm” svg:height=”11.136cm” svg:x=”3.075cm” svg:y=”2.257cm” draw:page-number=”6″ presentation:class=”page”/>
<draw:frame presentation:style-name=”pr3″ draw:text-style-name=”P4″ draw:layer=”layout” svg:width=”16.799cm” svg:height=”13.364cm” svg:x=”2.1cm” svg:y=”14.107cm” presentation:class=”notes” presentation:placeholder=”true”>
<draw:text-box/>
</draw:frame>
</presentation:notes>
</draw:page>
<draw:page draw:name=”page7″ draw:style-name=”dp1″ draw:master-page-name=”Default” presentation:presentation-page-layout-name=”AL4T19″>
<draw:frame presentation:style-name=”pr1″ draw:text-style-name=”P1″ draw:layer=”layout” svg:width=”25.199cm” svg:height=”2.63cm” svg:x=”1.4cm” svg:y=”0.627cm” presentation:class=”title” presentation:user-transformed=”true”>
<draw:text-box>
<text:p text:style-name=”P1″>
<text:span text:style-name=”T1″>Nullam ac laoreet orci</text:span>
</text:p>
</draw:text-box>
</draw:frame>
<draw:custom-shape draw:style-name=”gr4″ draw:text-style-name=”P9″ draw:layer=”layout” svg:width=”4.009cm” svg:height=”3.104cm” svg:x=”2.004cm” svg:y=”11.396cm”>
<text:p/>
<draw:enhanced-geometry svg:viewBox=”0 0 21600 21600″ draw:mirror-horizontal=”false” draw:mirror-vertical=”false” draw:type=”rectangle” draw:enhanced-path=”M 0 0 L 21600 0 21600 21600 0 21600 0 0 Z N”/>
</draw:custom-shape>
<draw:custom-shape draw:style-name=”gr5″ draw:text-style-name=”P10″ draw:layer=”layout” svg:width=”4.008cm” svg:height=”3.104cm” svg:x=”8.668cm” svg:y=”11.396cm”>
<text:p/>
<draw:enhanced-geometry svg:viewBox=”0 0 21600 21600″ draw:mirror-horizontal=”false” draw:mirror-vertical=”false” draw:type=”rectangle” draw:enhanced-path=”M 0 0 L 21600 0 21600 21600 0 21600 0 0 Z N”/>
</draw:custom-shape>
<draw:custom-shape draw:style-name=”gr6″ draw:text-style-name=”P11″ draw:layer=”layout” svg:width=”4.008cm” svg:height=”3.104cm” svg:x=”15.332cm” svg:y=”11.353cm”>
<text:p/>
<draw:enhanced-geometry svg:viewBox=”0 0 21600 21600″ draw:mirror-horizontal=”false” draw:mirror-vertical=”false” draw:type=”rectangle” draw:enhanced-path=”M 0 0 L 21600 0 21600 21600 0 21600 0 0 Z N”/>
</draw:custom-shape>
<draw:custom-shape draw:style-name=”gr7″ draw:text-style-name=”P12″ draw:layer=”layout” svg:width=”4.009cm” svg:height=”3.104cm” svg:x=”21.993cm” svg:y=”11.396cm”>
<text:p/>
<draw:enhanced-geometry svg:viewBox=”0 0 21600 21600″ draw:mirror-horizontal=”false” draw:mirror-vertical=”false” draw:type=”rectangle” draw:enhanced-path=”M 0 0 L 21600 0 21600 21600 0 21600 0 0 Z N”/>
</draw:custom-shape>
<draw:custom-shape draw:style-name=”gr8″ draw:text-style-name=”P9″ draw:layer=”layout” svg:width=”4.009cm” svg:height=”3.103cm” svg:x=”2.003cm” svg:y=”7.47cm”>
<text:p/>
<draw:enhanced-geometry svg:viewBox=”0 0 21600 21600″ draw:mirror-horizontal=”false” draw:mirror-vertical=”false” draw:type=”rectangle” draw:enhanced-path=”M 0 0 L 21600 0 21600 21600 0 21600 0 0 Z N”/>
</draw:custom-shape>
<draw:custom-shape draw:style-name=”gr9″ draw:text-style-name=”P10″ draw:layer=”layout” svg:width=”4.008cm” svg:height=”3.103cm” svg:x=”8.667cm” svg:y=”7.47cm”>
<text:p/>
<draw:enhanced-geometry svg:viewBox=”0 0 21600 21600″ draw:mirror-horizontal=”false” draw:mirror-vertical=”false” draw:type=”rectangle” draw:enhanced-path=”M 0 0 L 21600 0 21600 21600 0 21600 0 0 Z N”/>
</draw:custom-shape>
<draw:custom-shape draw:style-name=”gr10″ draw:text-style-name=”P11″ draw:layer=”layout” svg:width=”4.008cm” svg:height=”3.103cm” svg:x=”15.331cm” svg:y=”7.427cm”>
<text:p/>
<draw:enhanced-geometry svg:viewBox=”0 0 21600 21600″ draw:mirror-horizontal=”false” draw:mirror-vertical=”false” draw:type=”rectangle” draw:enhanced-path=”M 0 0 L 21600 0 21600 21600 0 21600 0 0 Z N”/>
</draw:custom-shape>
<draw:custom-shape draw:style-name=”gr11″ draw:text-style-name=”P12″ draw:layer=”layout” svg:width=”4.009cm” svg:height=”3.103cm” svg:x=”21.992cm” svg:y=”7.47cm”>
<text:p/>
<draw:enhanced-geometry svg:viewBox=”0 0 21600 21600″ draw:mirror-horizontal=”false” draw:mirror-vertical=”false” draw:type=”rectangle” draw:enhanced-path=”M 0 0 L 21600 0 21600 21600 0 21600 0 0 Z N”/>
</draw:custom-shape>
<draw:custom-shape draw:style-name=”gr4″ draw:text-style-name=”P9″ draw:layer=”layout” svg:width=”4.009cm” svg:height=”3.104cm” svg:x=”2.002cm” svg:y=”3.543cm”>
<text:p/>
<draw:enhanced-geometry svg:viewBox=”0 0 21600 21600″ draw:mirror-horizontal=”false” draw:mirror-vertical=”false” draw:type=”rectangle” draw:enhanced-path=”M 0 0 L 21600 0 21600 21600 0 21600 0 0 Z N”/>
</draw:custom-shape>
<draw:custom-shape draw:style-name=”gr5″ draw:text-style-name=”P10″ draw:layer=”layout” svg:width=”4.008cm” svg:height=”3.104cm” svg:x=”8.666cm” svg:y=”3.543cm”>
<text:p/>
<draw:enhanced-geometry svg:viewBox=”0 0 21600 21600″ draw:mirror-horizontal=”false” draw:mirror-vertical=”false” draw:type=”rectangle” draw:enhanced-path=”M 0 0 L 21600 0 21600 21600 0 21600 0 0 Z N”/>
</draw:custom-shape>
<draw:custom-shape draw:style-name=”gr6″ draw:text-style-name=”P11″ draw:layer=”layout” svg:width=”4.008cm” svg:height=”3.104cm” svg:x=”15.33cm” svg:y=”3.5cm”>
<text:p/>
<draw:enhanced-geometry svg:viewBox=”0 0 21600 21600″ draw:mirror-horizontal=”false” draw:mirror-vertical=”false” draw:type=”rectangle” draw:enhanced-path=”M 0 0 L 21600 0 21600 21600 0 21600 0 0 Z N”/>
</draw:custom-shape>
<draw:custom-shape draw:style-name=”gr7″ draw:text-style-name=”P12″ draw:layer=”layout” svg:width=”4.009cm” svg:height=”3.104cm” svg:x=”21.991cm” svg:y=”3.543cm”>
<text:p/>
<draw:enhanced-geometry svg:viewBox=”0 0 21600 21600″ draw:mirror-horizontal=”false” draw:mirror-vertical=”false” draw:type=”rectangle” draw:enhanced-path=”M 0 0 L 21600 0 21600 21600 0 21600 0 0 Z N”/>
</draw:custom-shape>
<presentation:notes draw:style-name=”dp2″>
<draw:page-thumbnail draw:style-name=”gr1″ draw:layer=”layout” svg:width=”14.848cm” svg:height=”11.136cm” svg:x=”3.075cm” svg:y=”2.257cm” draw:page-number=”7″ presentation:class=”page”/>
<draw:frame presentation:style-name=”pr3″ draw:text-style-name=”P4″ draw:layer=”layout” svg:width=”16.799cm” svg:height=”13.364cm” svg:x=”2.1cm” svg:y=”14.107cm” presentation:class=”notes” presentation:placeholder=”true”>
<draw:text-box/>
</draw:frame>
</presentation:notes>
</draw:page>
<draw:page draw:name=”page8″ draw:style-name=”dp1″ draw:master-page-name=”Default” presentation:presentation-page-layout-name=”AL3T1″>
<draw:frame presentation:style-name=”pr5″ draw:text-style-name=”P1″ draw:layer=”layout” svg:width=”25.199cm” svg:height=”2.63cm” svg:x=”1.4cm” svg:y=”0.627cm” presentation:class=”title”>
<draw:text-box>
<text:p text:style-name=”P1″>
<text:span text:style-name=”T1″>It could work</text:span>
</text:p>
</draw:text-box>
</draw:frame>
<draw:frame draw:style-name=”gr2″ draw:layer=”layout” svg:width=”16.608cm” svg:height=”9.134cm” svg:x=”5.695cm” svg:y=”3.684cm” presentation:class=”object”>
<draw:plugin xlink:href=”Media/It Could Work – Young Frankenstein.mp4″ xlink:type=”simple” xlink:show=”embed” xlink:actuate=”onLoad” draw:mime-type=”video/mp4″>
<draw:param draw:name=”Loop” draw:value=”false”/>
<draw:param draw:name=”Mute” draw:value=”false”/>
<draw:param draw:name=”VolumeDB” draw:value=”0″/>
</draw:plugin>
</draw:frame>
<presentation:notes draw:style-name=”dp2″>
<draw:page-thumbnail draw:style-name=”gr1″ draw:layer=”layout” svg:width=”14.848cm” svg:height=”11.136cm” svg:x=”3.075cm” svg:y=”2.257cm” draw:page-number=”8″ presentation:class=”page”/>
<draw:frame presentation:style-name=”pr3″ draw:text-style-name=”P4″ draw:layer=”layout” svg:width=”16.799cm” svg:height=”13.364cm” svg:x=”2.1cm” svg:y=”14.107cm” presentation:class=”notes” presentation:placeholder=”true”>
<draw:text-box/>
</draw:frame>
</presentation:notes>
</draw:page>
<presentation:settings presentation:mouse-visible=”false”/>
</office:presentation>
</office:body>
Overall, ODP’s XML file is slightly more complex than ODS’ and ODT’s XML files due to the greater complexity of the styles section. However, this is offset by the lower complexity of the content section. Once you understand the logic — the slide number sequence, style descriptions, descriptions of elements that do not fall within the styles and content descriptions — it is fairly easy to read, even for a basic user (and certainly for a developer).
One detail to note is that the names of the images (renamed with a numerical code) and videos (with the same name as the MP4 file) are consistent across the Pictures and Media folders and content.xml to facilitate identification.
The PPTX file
As the seven slide.xml files contain most of the information, I will focus on them. To avoid repetition, I am only publishing slides 5, 3, 4, 6, 7 and 8.
SLIDE3.XML
<p:cSld>
<p:spTree>
<p:nvGrpSpPr>
<p:cNvPr id=”1″ name=””/>
<p:cNvGrpSpPr/>
<p:nvPr/>
</p:nvGrpSpPr>
<p:grpSpPr>
<a:xfrm>
<a:off x=”0″ y=”0″/>
<a:ext cx=”0″ cy=”0″/>
<a:chOff x=”0″ y=”0″/>
<a:chExt cx=”0″ cy=”0″/>
</a:xfrm>
</p:grpSpPr>
<p:sp>
<p:nvSpPr>
<p:cNvPr id=”15″ name=”PlaceHolder 1″/>
<p:cNvSpPr>
<a:spLocks noGrp=”1″/>
</p:cNvSpPr>
<p:nvPr>
<p:ph type=”title”/>
</p:nvPr>
</p:nvSpPr>
<p:spPr>
<a:xfrm>
<a:off x=”504000″ y=”225720″/>
<a:ext cx=”9071640″ cy=”946800″/>
</a:xfrm>
<a:prstGeom prst=”rect”>
<a:avLst/>
</a:prstGeom>
<a:noFill/>
<a:ln w=”0″>
<a:noFill/>
</a:ln>
</p:spPr>
<p:txBody>
<a:bodyPr lIns=”0″ tIns=”0″ rIns=”0″ bIns=”0″ anchor=”ctr”>
<a:spAutoFit/>
</a:bodyPr>
<a:lstStyle/>
<a:p>
<a:pPr indent=”0″ algn=”ctr”>
<a:buNone/>
</a:pPr>
<a:r>
<a:rPr lang=”en-GB” sz=”3600″ b=”1″ u=”none” strike=”noStrike”>
<a:solidFill>
<a:srgbClr val=”000000″/>
</a:solidFill>
<a:effectLst/>
<a:uFillTx/>
<a:latin typeface=”Aptos”/>
</a:rPr>
<a:t>Mauris efficitur volutpat dictum</a:t>
</a:r>
</a:p>
</p:txBody>
</p:sp>
<p:sp>
<p:nvSpPr>
<p:cNvPr id=”16″ name=”PlaceHolder 2″/>
<p:cNvSpPr>
<a:spLocks noGrp=”1″/>
</p:cNvSpPr>
<p:nvPr>
<p:ph/>
</p:nvPr>
</p:nvSpPr>
<p:spPr>
<a:xfrm>
<a:off x=”504000″ y=”1437120″/>
<a:ext cx=”9071640″ cy=”3617640″/>
</a:xfrm>
<a:prstGeom prst=”rect”>
<a:avLst/>
</a:prstGeom>
<a:noFill/>
<a:ln w=”0″>
<a:noFill/>
</a:ln>
</p:spPr>
<p:txBody>
<a:bodyPr lIns=”0″ tIns=”0″ rIns=”0″ bIns=”0″ anchor=”t”>
<a:normAutofit/>
</a:bodyPr>
<a:lstStyle/>
<a:p>
<a:pPr marL=”432000″ indent=”-324000″>
<a:spcBef>
<a:spcPts val=”1057″/>
</a:spcBef>
<a:buClr>
<a:srgbClr val=”000000″/>
</a:buClr>
<a:buSzPct val=”45000″/>
<a:buFont typeface=”Wingdings” charset=”2″/>
<a:buChar char=””/>
</a:pPr>
<a:r>
<a:rPr lang=”en-GB” sz=”2400″ b=”0″ u=”none” strike=”noStrike”>
<a:solidFill>
<a:srgbClr val=”000000″/>
</a:solidFill>
<a:effectLst/>
<a:uFillTx/>
<a:latin typeface=”Aptos”/>
</a:rPr>
<a:t>Praesent tempus sodales lacus at accumsan.</a:t>
</a:r>
</a:p>
<a:p>
<a:pPr marL=”432000″ indent=”-324000″>
<a:spcBef>
<a:spcPts val=”1057″/>
</a:spcBef>
<a:buClr>
<a:srgbClr val=”000000″/>
</a:buClr>
<a:buSzPct val=”45000″/>
<a:buFont typeface=”Wingdings” charset=”2″/>
<a:buChar char=””/>
</a:pPr>
<a:r>
<a:rPr lang=”en-GB” sz=”2400″ b=”0″ u=”none” strike=”noStrike”>
<a:solidFill>
<a:srgbClr val=”000000″/>
</a:solidFill>
<a:effectLst/>
<a:uFillTx/>
<a:latin typeface=”Aptos”/>
</a:rPr>
<a:t>Pellentesque vel neque rutrum, posuere sapien eget, eleifend leo.</a:t>
</a:r>
</a:p>
<a:p>
<a:pPr marL=”432000″ indent=”-324000″>
<a:spcBef>
<a:spcPts val=”1057″/>
</a:spcBef>
<a:buClr>
<a:srgbClr val=”000000″/>
</a:buClr>
<a:buSzPct val=”45000″/>
<a:buFont typeface=”Wingdings” charset=”2″/>
<a:buChar char=””/>
</a:pPr>
<a:r>
<a:rPr lang=”en-GB” sz=”2400″ b=”0″ u=”none” strike=”noStrike”>
<a:solidFill>
<a:srgbClr val=”000000″/>
</a:solidFill>
<a:effectLst/>
<a:uFillTx/>
<a:latin typeface=”Aptos”/>
</a:rPr>
<a:t>Proin ut ultricies magna.</a:t>
</a:r>
</a:p>
<a:p>
<a:pPr marL=”432000″ indent=”-324000″>
<a:spcBef>
<a:spcPts val=”1057″/>
</a:spcBef>
<a:buClr>
<a:srgbClr val=”000000″/>
</a:buClr>
<a:buSzPct val=”45000″/>
<a:buFont typeface=”Wingdings” charset=”2″/>
<a:buChar char=””/>
</a:pPr>
<a:r>
<a:rPr lang=”en-GB” sz=”2400″ b=”0″ u=”none” strike=”noStrike”>
<a:solidFill>
<a:srgbClr val=”000000″/>
</a:solidFill>
<a:effectLst/>
<a:uFillTx/>
<a:latin typeface=”Aptos”/>
</a:rPr>
<a:t>Nulla facilisi.</a:t>
</a:r>
</a:p>
<a:p>
<a:pPr marL=”432000″ indent=”-324000″>
<a:spcBef>
<a:spcPts val=”1057″/>
</a:spcBef>
<a:buClr>
<a:srgbClr val=”000000″/>
</a:buClr>
<a:buSzPct val=”45000″/>
<a:buFont typeface=”Wingdings” charset=”2″/>
<a:buChar char=””/>
</a:pPr>
<a:r>
<a:rPr lang=”en-GB” sz=”2400″ b=”0″ u=”none” strike=”noStrike”>
<a:solidFill>
<a:srgbClr val=”000000″/>
</a:solidFill>
<a:effectLst/>
<a:uFillTx/>
<a:latin typeface=”Aptos”/>
</a:rPr>
<a:t>Donec sed risus quis tellus facilisis elementum.</a:t>
</a:r>
</a:p>
<a:p>
<a:pPr marL=”432000″ indent=”-324000″>
<a:spcBef>
<a:spcPts val=”1057″/>
</a:spcBef>
<a:buClr>
<a:srgbClr val=”000000″/>
</a:buClr>
<a:buSzPct val=”45000″/>
<a:buFont typeface=”Wingdings” charset=”2″/>
<a:buChar char=””/>
</a:pPr>
<a:r>
<a:rPr lang=”en-GB” sz=”2400″ b=”0″ u=”none” strike=”noStrike”>
<a:solidFill>
<a:srgbClr val=”000000″/>
</a:solidFill>
<a:effectLst/>
<a:uFillTx/>
<a:latin typeface=”Aptos”/>
</a:rPr>
<a:t>Vivamus sit amet semper nisl, vel tristique mi.</a:t>
</a:r>
</a:p>
<a:p>
<a:pPr marL=”432000″ indent=”-324000″>
<a:spcBef>
<a:spcPts val=”1057″/>
</a:spcBef>
<a:buClr>
<a:srgbClr val=”000000″/>
</a:buClr>
<a:buSzPct val=”45000″/>
<a:buFont typeface=”Wingdings” charset=”2″/>
<a:buChar char=””/>
</a:pPr>
<a:r>
<a:rPr lang=”en-GB” sz=”2400″ b=”0″ u=”none” strike=”noStrike”>
<a:solidFill>
<a:srgbClr val=”000000″/>
</a:solidFill>
<a:effectLst/>
<a:uFillTx/>
<a:latin typeface=”Aptos”/>
</a:rPr>
<a:t>Aenean lobortis neque in malesuada ornare.</a:t>
</a:r>
</a:p>
</p:txBody>
</p:sp>
</p:spTree>
</p:cSld>
<p:clrMapOvr>
<a:masterClrMapping/>
</p:clrMapOvr>
</p:sld>
SLIDE4.XML
<p:cSld>
<p:spTree>
<p:nvGrpSpPr>
<p:cNvPr id=”1″ name=””/>
<p:cNvGrpSpPr/>
<p:nvPr/>
</p:nvGrpSpPr>
<p:grpSpPr>
<a:xfrm>
<a:off x=”0″ y=”0″/>
<a:ext cx=”0″ cy=”0″/>
<a:chOff x=”0″ y=”0″/>
<a:chExt cx=”0″ cy=”0″/>
</a:xfrm>
</p:grpSpPr>
<p:sp>
<p:nvSpPr>
<p:cNvPr id=”17″ name=”PlaceHolder 1″/>
<p:cNvSpPr>
<a:spLocks noGrp=”1″/>
</p:cNvSpPr>
<p:nvPr>
<p:ph type=”title”/>
</p:nvPr>
</p:nvSpPr>
<p:spPr>
<a:xfrm>
<a:off x=”504000″ y=”225720″/>
<a:ext cx=”9071640″ cy=”946800″/>
</a:xfrm>
<a:prstGeom prst=”rect”>
<a:avLst/>
</a:prstGeom>
<a:noFill/>
<a:ln w=”0″>
<a:noFill/>
</a:ln>
</p:spPr>
<p:txBody>
<a:bodyPr lIns=”0″ tIns=”0″ rIns=”0″ bIns=”0″ anchor=”ctr”>
<a:spAutoFit/>
</a:bodyPr>
<a:lstStyle/>
<a:p>
<a:pPr indent=”0″ algn=”ctr”>
<a:buNone/>
</a:pPr>
<a:r>
<a:rPr lang=”en-GB” sz=”3600″ b=”1″ u=”none” strike=”noStrike”>
<a:solidFill>
<a:srgbClr val=”000000″/>
</a:solidFill>
<a:effectLst/>
<a:uFillTx/>
<a:latin typeface=”Aptos”/>
</a:rPr>
<a:t>Proin sed mattis elit</a:t>
</a:r>
</a:p>
</p:txBody>
</p:sp>
<p:graphicFrame>
<p:nvGraphicFramePr>
<p:cNvPr id=”18″ name=”Tabella 17″/>
<p:cNvGraphicFramePr/>
<p:nvPr/>
</p:nvGraphicFramePr>
<p:xfrm>
<a:off x=”735120″ y=”1427040″/>
<a:ext cx=”8631000″ cy=”2934720″/>
</p:xfrm>
<a:graphic>
<a:graphicData uri=”http://schemas.openxmlformats.org/drawingml/2006/table”>
<a:tbl>
<a:tblPr/>
<a:tblGrid>
<a:gridCol w=”4315680″>
<a:extLst>
<a:ext uri=”{9D8B030D-6E8A-4147-A177-3AD203B41FA5}”>
<a16:colId xmlns:a16=”http://schemas.microsoft.com/office/drawing/2014/main” val=”20000″/>
</a:ext>
</a:extLst>
</a:gridCol>
<a:gridCol w=”4315320″>
<a:extLst>
<a:ext uri=”{9D8B030D-6E8A-4147-A177-3AD203B41FA5}”>
<a16:colId xmlns:a16=”http://schemas.microsoft.com/office/drawing/2014/main” val=”20001″/>
</a:ext>
</a:extLst>
</a:gridCol>
</a:tblGrid>
<a:tr h=”605880″>
<a:tc>
<a:txBody>
<a:bodyPr/>
<a:lstStyle/>
<a:p>
<a:pPr indent=”0″>
<a:buNone/>
</a:pPr>
<a:r>
<a:rPr lang=”en-GB” sz=”2400″ b=”0″ u=”none” strike=”noStrike”>
<a:solidFill>
<a:srgbClr val=”000000″/>
</a:solidFill>
<a:effectLst/>
<a:uFillTx/>
<a:latin typeface=”Aptos”/>
</a:rPr>
<a:t>Aenean ultricies turpis eu erat euismod porta.</a:t>
</a:r>
</a:p>
</a:txBody>
<a:tcPr marL=”90000″ marR=”90000″ marT=”46800″ marB=”46800″>
<a:lnL w=”720″>
<a:solidFill>
<a:srgbClr val=”FFFFFF”/>
</a:solidFill>
<a:prstDash val=”solid”/>
</a:lnL>
<a:lnR w=”720″>
<a:solidFill>
<a:srgbClr val=”FFFFFF”/>
</a:solidFill>
<a:prstDash val=”solid”/>
</a:lnR>
<a:lnT w=”720″>
<a:solidFill>
<a:srgbClr val=”FFFFFF”/>
</a:solidFill>
<a:prstDash val=”solid”/>
</a:lnT>
<a:lnB w=”720″>
<a:solidFill>
<a:srgbClr val=”FFFFFF”/>
</a:solidFill>
<a:prstDash val=”solid”/>
</a:lnB>
<a:solidFill>
<a:srgbClr val=”B3B3B3″/>
</a:solidFill>
</a:tcPr>
</a:tc>
<a:tc>
<a:txBody>
<a:bodyPr/>
<a:lstStyle/>
<a:p>
<a:pPr indent=”0″>
<a:buNone/>
</a:pPr>
<a:r>
<a:rPr lang=”en-GB” sz=”2400″ b=”0″ u=”none” strike=”noStrike”>
<a:solidFill>
<a:srgbClr val=”000000″/>
</a:solidFill>
<a:effectLst/>
<a:uFillTx/>
<a:latin typeface=”Aptos”/>
</a:rPr>
<a:t>Maecenas nec ullamcorper odio, ac tincidunt metus.</a:t>
</a:r>
</a:p>
</a:txBody>
<a:tcPr marL=”90000″ marR=”90000″ marT=”46800″ marB=”46800″>
<a:lnL w=”720″>
<a:solidFill>
<a:srgbClr val=”FFFFFF”/>
</a:solidFill>
<a:prstDash val=”solid”/>
</a:lnL>
<a:lnR w=”720″>
<a:solidFill>
<a:srgbClr val=”FFFFFF”/>
</a:solidFill>
<a:prstDash val=”solid”/>
</a:lnR>
<a:lnT w=”720″>
<a:solidFill>
<a:srgbClr val=”FFFFFF”/>
</a:solidFill>
<a:prstDash val=”solid”/>
</a:lnT>
<a:lnB w=”720″>
<a:solidFill>
<a:srgbClr val=”FFFFFF”/>
</a:solidFill>
<a:prstDash val=”solid”/>
</a:lnB>
<a:solidFill>
<a:srgbClr val=”B3B3B3″/>
</a:solidFill>
</a:tcPr>
</a:tc>
<a:extLst>
<a:ext uri=”{0D108BD9-81ED-4DB2-BD59-A6C34878D82A}”>
<a16:rowId xmlns:a16=”http://schemas.microsoft.com/office/drawing/2014/main” val=”10000″/>
</a:ext>
</a:extLst>
</a:tr>
<a:tr h=”605880″>
<a:tc>
<a:txBody>
<a:bodyPr/>
<a:lstStyle/>
<a:p>
<a:pPr indent=”0″>
<a:buNone/>
</a:pPr>
<a:r>
<a:rPr lang=”en-GB” sz=”2400″ b=”0″ u=”none” strike=”noStrike”>
<a:solidFill>
<a:srgbClr val=”000000″/>
</a:solidFill>
<a:effectLst/>
<a:uFillTx/>
<a:latin typeface=”Aptos”/>
</a:rPr>
<a:t>Duis volutpat sapien at interdum consequat.</a:t>
</a:r>
</a:p>
</a:txBody>
<a:tcPr marL=”90000″ marR=”90000″ marT=”46800″ marB=”46800″>
<a:lnL w=”720″>
<a:solidFill>
<a:srgbClr val=”FFFFFF”/>
</a:solidFill>
<a:prstDash val=”solid”/>
</a:lnL>
<a:lnR w=”720″>
<a:solidFill>
<a:srgbClr val=”FFFFFF”/>
</a:solidFill>
<a:prstDash val=”solid”/>
</a:lnR>
<a:lnT w=”720″>
<a:solidFill>
<a:srgbClr val=”FFFFFF”/>
</a:solidFill>
<a:prstDash val=”solid”/>
</a:lnT>
<a:lnB w=”720″>
<a:solidFill>
<a:srgbClr val=”FFFFFF”/>
</a:solidFill>
<a:prstDash val=”solid”/>
</a:lnB>
<a:solidFill>
<a:srgbClr val=”CCCCCC”/>
</a:solidFill>
</a:tcPr>
</a:tc>
<a:tc>
<a:txBody>
<a:bodyPr/>
<a:lstStyle/>
<a:p>
<a:pPr indent=”0″>
<a:buNone/>
</a:pPr>
<a:r>
<a:rPr lang=”en-GB” sz=”2400″ b=”0″ u=”none” strike=”noStrike”>
<a:solidFill>
<a:srgbClr val=”000000″/>
</a:solidFill>
<a:effectLst/>
<a:uFillTx/>
<a:latin typeface=”Aptos”/>
</a:rPr>
<a:t>Donec vel semper nisl.</a:t>
</a:r>
</a:p>
</a:txBody>
<a:tcPr marL=”90000″ marR=”90000″ marT=”46800″ marB=”46800″>
<a:lnL w=”720″>
<a:solidFill>
<a:srgbClr val=”FFFFFF”/>
</a:solidFill>
<a:prstDash val=”solid”/>
</a:lnL>
<a:lnR w=”720″>
<a:solidFill>
<a:srgbClr val=”FFFFFF”/>
</a:solidFill>
<a:prstDash val=”solid”/>
</a:lnR>
<a:lnT w=”720″>
<a:solidFill>
<a:srgbClr val=”FFFFFF”/>
</a:solidFill>
<a:prstDash val=”solid”/>
</a:lnT>
<a:lnB w=”720″>
<a:solidFill>
<a:srgbClr val=”FFFFFF”/>
</a:solidFill>
<a:prstDash val=”solid”/>
</a:lnB>
<a:solidFill>
<a:srgbClr val=”CCCCCC”/>
</a:solidFill>
</a:tcPr>
</a:tc>
<a:extLst>
<a:ext uri=”{0D108BD9-81ED-4DB2-BD59-A6C34878D82A}”>
<a16:rowId xmlns:a16=”http://schemas.microsoft.com/office/drawing/2014/main” val=”10001″/>
</a:ext>
</a:extLst>
</a:tr>
<a:tr h=”605880″>
<a:tc>
<a:txBody>
<a:bodyPr/>
<a:lstStyle/>
<a:p>
<a:pPr indent=”0″>
<a:buNone/>
</a:pPr>
<a:r>
<a:rPr lang=”en-GB” sz=”2400″ b=”0″ u=”none” strike=”noStrike”>
<a:solidFill>
<a:srgbClr val=”000000″/>
</a:solidFill>
<a:effectLst/>
<a:uFillTx/>
<a:latin typeface=”Aptos”/>
</a:rPr>
<a:t>Sed scelerisque odio non justo suscipit congue.</a:t>
</a:r>
</a:p>
</a:txBody>
<a:tcPr marL=”90000″ marR=”90000″ marT=”46800″ marB=”46800″>
<a:lnL w=”720″>
<a:solidFill>
<a:srgbClr val=”FFFFFF”/>
</a:solidFill>
<a:prstDash val=”solid”/>
</a:lnL>
<a:lnR w=”720″>
<a:solidFill>
<a:srgbClr val=”FFFFFF”/>
</a:solidFill>
<a:prstDash val=”solid”/>
</a:lnR>
<a:lnT w=”720″>
<a:solidFill>
<a:srgbClr val=”FFFFFF”/>
</a:solidFill>
<a:prstDash val=”solid”/>
</a:lnT>
<a:lnB w=”720″>
<a:solidFill>
<a:srgbClr val=”FFFFFF”/>
</a:solidFill>
<a:prstDash val=”solid”/>
</a:lnB>
<a:solidFill>
<a:srgbClr val=”E6E6E6″/>
</a:solidFill>
</a:tcPr>
</a:tc>
<a:tc>
<a:txBody>
<a:bodyPr/>
<a:lstStyle/>
<a:p>
<a:pPr indent=”0″>
<a:buNone/>
</a:pPr>
<a:r>
<a:rPr lang=”en-GB” sz=”2400″ b=”0″ u=”none” strike=”noStrike”>
<a:solidFill>
<a:srgbClr val=”000000″/>
</a:solidFill>
<a:effectLst/>
<a:uFillTx/>
<a:latin typeface=”Aptos”/>
</a:rPr>
<a:t>Maecenas convallis quis neque at elementum.</a:t>
</a:r>
</a:p>
</a:txBody>
<a:tcPr marL=”90000″ marR=”90000″ marT=”46800″ marB=”46800″>
<a:lnL w=”720″>
<a:solidFill>
<a:srgbClr val=”FFFFFF”/>
</a:solidFill>
<a:prstDash val=”solid”/>
</a:lnL>
<a:lnR w=”720″>
<a:solidFill>
<a:srgbClr val=”FFFFFF”/>
</a:solidFill>
<a:prstDash val=”solid”/>
</a:lnR>
<a:lnT w=”720″>
<a:solidFill>
<a:srgbClr val=”FFFFFF”/>
</a:solidFill>
<a:prstDash val=”solid”/>
</a:lnT>
<a:lnB w=”720″>
<a:solidFill>
<a:srgbClr val=”FFFFFF”/>
</a:solidFill>
<a:prstDash val=”solid”/>
</a:lnB>
<a:solidFill>
<a:srgbClr val=”E6E6E6″/>
</a:solidFill>
</a:tcPr>
</a:tc>
<a:extLst>
<a:ext uri=”{0D108BD9-81ED-4DB2-BD59-A6C34878D82A}”>
<a16:rowId xmlns:a16=”http://schemas.microsoft.com/office/drawing/2014/main” val=”10002″/>
</a:ext>
</a:extLst>
</a:tr>
<a:tr h=”349920″>
<a:tc gridSpan=”2″>
<a:txBody>
<a:bodyPr/>
<a:lstStyle/>
<a:p>
<a:pPr indent=”0″>
<a:buNone/>
</a:pPr>
<a:r>
<a:rPr lang=”en-GB” sz=”2400″ b=”0″ u=”none” strike=”noStrike”>
<a:solidFill>
<a:srgbClr val=”000000″/>
</a:solidFill>
<a:effectLst/>
<a:uFillTx/>
<a:latin typeface=”Aptos”/>
</a:rPr>
<a:t>In fringilla tortor id orci porttitor, a euismod velit molestie.</a:t>
</a:r>
</a:p>
</a:txBody>
<a:tcPr marL=”90000″ marR=”90000″ marT=”46800″ marB=”46800″>
<a:lnL w=”720″>
<a:solidFill>
<a:srgbClr val=”FFFFFF”/>
</a:solidFill>
<a:prstDash val=”solid”/>
</a:lnL>
<a:lnR w=”720″>
<a:solidFill>
<a:srgbClr val=”FFFFFF”/>
</a:solidFill>
<a:prstDash val=”solid”/>
</a:lnR>
<a:lnT w=”720″>
<a:solidFill>
<a:srgbClr val=”FFFFFF”/>
</a:solidFill>
<a:prstDash val=”solid”/>
</a:lnT>
<a:lnB w=”720″>
<a:solidFill>
<a:srgbClr val=”FFFFFF”/>
</a:solidFill>
<a:prstDash val=”solid”/>
</a:lnB>
<a:solidFill>
<a:srgbClr val=”CCCCCC”/>
</a:solidFill>
</a:tcPr>
</a:tc>
<a:tc hMerge=”1″>
<a:txBody>
<a:bodyPr/>
<a:lstStyle/>
<a:p>
<a:pPr indent=”0″>
<a:buNone/>
</a:pPr>
<a:endParaRPr lang=”en-GB” sz=”2400″ b=”0″ u=”none” strike=”noStrike”>
<a:solidFill>
<a:srgbClr val=”000000″/>
</a:solidFill>
<a:effectLst/>
<a:uFillTx/>
<a:latin typeface=”Aptos”/>
</a:endParaRPr>
</a:p>
</a:txBody>
<a:tcPr marL=”90000″ marR=”90000″ marT=”46800″ marB=”46800″>
<a:lnL w=”720″>
<a:solidFill>
<a:srgbClr val=”FFFFFF”/>
</a:solidFill>
<a:prstDash val=”solid”/>
</a:lnL>
<a:lnR w=”720″>
<a:solidFill>
<a:srgbClr val=”FFFFFF”/>
</a:solidFill>
<a:prstDash val=”solid”/>
</a:lnR>
<a:lnT w=”720″>
<a:solidFill>
<a:srgbClr val=”FFFFFF”/>
</a:solidFill>
<a:prstDash val=”solid”/>
</a:lnT>
<a:lnB w=”720″>
<a:solidFill>
<a:srgbClr val=”FFFFFF”/>
</a:solidFill>
<a:prstDash val=”solid”/>
</a:lnB>
<a:solidFill>
<a:srgbClr val=”CCCCCC”/>
</a:solidFill>
</a:tcPr>
</a:tc>
<a:extLst>
<a:ext uri=”{0D108BD9-81ED-4DB2-BD59-A6C34878D82A}”>
<a16:rowId xmlns:a16=”http://schemas.microsoft.com/office/drawing/2014/main” val=”10003″/>
</a:ext>
</a:extLst>
</a:tr>
</a:tbl>
</a:graphicData>
</a:graphic>
</p:graphicFrame>
</p:spTree>
</p:cSld>
<p:clrMapOvr>
<a:masterClrMapping/>
</p:clrMapOvr>
</p:sld>
SLIDE6.XML
<p:cSld>
<p:spTree>
<p:nvGrpSpPr>
<p:cNvPr id=”1″ name=””/>
<p:cNvGrpSpPr/>
<p:nvPr/>
</p:nvGrpSpPr>
<p:grpSpPr>
<a:xfrm>
<a:off x=”0″ y=”0″/>
<a:ext cx=”0″ cy=”0″/>
<a:chOff x=”0″ y=”0″/>
<a:chExt cx=”0″ cy=”0″/>
</a:xfrm>
</p:grpSpPr>
<p:pic>
<p:nvPicPr>
<p:cNvPr id=”21″ name=”Immagine 20″/>
<p:cNvPicPr/>
<p:nvPr/>
</p:nvPicPr>
<p:blipFill>
<a:blip r:embed=”rId2″/>
<a:stretch/>
</p:blipFill>
<p:spPr>
<a:xfrm>
<a:off x=”737640″ y=”726840″/>
<a:ext cx=”8624160″ cy=”4302720″/>
</a:xfrm>
<a:prstGeom prst=”rect”>
<a:avLst/>
</a:prstGeom>
<a:noFill/>
<a:ln w=”0″>
<a:noFill/>
</a:ln>
</p:spPr>
</p:pic>
</p:spTree>
</p:cSld>
<p:clrMapOvr>
<a:masterClrMapping/>
</p:clrMapOvr>
</p:sld>
SLIDE7.XML
<p:cSld>
<p:spTree>
<p:nvGrpSpPr>
<p:cNvPr id=”1″ name=””/>
<p:cNvGrpSpPr/>
<p:nvPr/>
</p:nvGrpSpPr>
<p:grpSpPr>
<a:xfrm>
<a:off x=”0″ y=”0″/>
<a:ext cx=”0″ cy=”0″/>
<a:chOff x=”0″ y=”0″/>
<a:chExt cx=”0″ cy=”0″/>
</a:xfrm>
</p:grpSpPr>
<p:sp>
<p:nvSpPr>
<p:cNvPr id=”22″ name=”PlaceHolder 1″/>
<p:cNvSpPr>
<a:spLocks noGrp=”1″/>
</p:cNvSpPr>
<p:nvPr>
<p:ph type=”title”/>
</p:nvPr>
</p:nvSpPr>
<p:spPr>
<a:xfrm>
<a:off x=”504000″ y=”225720″/>
<a:ext cx=”9071640″ cy=”946800″/>
</a:xfrm>
<a:prstGeom prst=”rect”>
<a:avLst/>
</a:prstGeom>
<a:noFill/>
<a:ln w=”0″>
<a:noFill/>
</a:ln>
</p:spPr>
<p:txBody>
<a:bodyPr lIns=”0″ tIns=”0″ rIns=”0″ bIns=”0″ anchor=”ctr”>
<a:spAutoFit/>
</a:bodyPr>
<a:lstStyle/>
<a:p>
<a:pPr indent=”0″ algn=”ctr”>
<a:buNone/>
</a:pPr>
<a:r>
<a:rPr lang=”en-GB” sz=”3600″ b=”1″ u=”none” strike=”noStrike”>
<a:solidFill>
<a:srgbClr val=”000000″/>
</a:solidFill>
<a:effectLst/>
<a:uFillTx/>
<a:latin typeface=”Aptos”/>
</a:rPr>
<a:t>Nullam ac laoreet orci</a:t>
</a:r>
</a:p>
</p:txBody>
</p:sp>
<p:sp>
<p:nvSpPr>
<p:cNvPr id=”23″ name=”Rettangolo 22″/>
<p:cNvSpPr/>
<p:nvPr/>
</p:nvSpPr>
<p:spPr>
<a:xfrm>
<a:off x=”721440″ y=”4102560″/>
<a:ext cx=”1443240″ cy=”1117440″/>
</a:xfrm>
<a:prstGeom prst=”rect”>
<a:avLst/>
</a:prstGeom>
<a:solidFill>
<a:srgbClr val=”FF0000″/>
</a:solidFill>
<a:ln w=”0″>
<a:solidFill>
<a:srgbClr val=”000000″/>
</a:solidFill>
</a:ln>
</p:spPr>
<p:style>
<a:lnRef idx=”0″>
<a:scrgbClr r=”0″ g=”0″ b=”0″/>
</a:lnRef>
<a:fillRef idx=”0″>
<a:scrgbClr r=”0″ g=”0″ b=”0″/>
</a:fillRef>
<a:effectRef idx=”0″>
<a:scrgbClr r=”0″ g=”0″ b=”0″/>
</a:effectRef>
<a:fontRef idx=”minor”/>
</p:style>
<p:txBody>
<a:bodyPr wrap=”none” lIns=”90000″ tIns=”45000″ rIns=”90000″ bIns=”45000″ anchor=”ctr”>
<a:noAutofit/>
</a:bodyPr>
<a:lstStyle/>
<a:p>
<a:endParaRPr lang=”en-GB” sz=”1800″ b=”0″ u=”none” strike=”noStrike”>
<a:solidFill>
<a:srgbClr val=”FFFFFF”/>
</a:solidFill>
<a:effectLst/>
<a:uFillTx/>
<a:latin typeface=”Arial”/>
</a:endParaRPr>
</a:p>
</p:txBody>
</p:sp>
<p:sp>
<p:nvSpPr>
<p:cNvPr id=”24″ name=”Rettangolo 23″/>
<p:cNvSpPr/>
<p:nvPr/>
</p:nvSpPr>
<p:spPr>
<a:xfrm>
<a:off x=”3120480″ y=”4102560″/>
<a:ext cx=”1442880″ cy=”1117440″/>
</a:xfrm>
<a:prstGeom prst=”rect”>
<a:avLst/>
</a:prstGeom>
<a:solidFill>
<a:srgbClr val=”00FF00″/>
</a:solidFill>
<a:ln w=”0″>
<a:solidFill>
<a:srgbClr val=”000000″/>
</a:solidFill>
</a:ln>
</p:spPr>
<p:style>
<a:lnRef idx=”0″>
<a:scrgbClr r=”0″ g=”0″ b=”0″/>
</a:lnRef>
<a:fillRef idx=”0″>
<a:scrgbClr r=”0″ g=”0″ b=”0″/>
</a:fillRef>
<a:effectRef idx=”0″>
<a:scrgbClr r=”0″ g=”0″ b=”0″/>
</a:effectRef>
<a:fontRef idx=”minor”/>
</p:style>
<p:txBody>
<a:bodyPr wrap=”none” lIns=”90000″ tIns=”45000″ rIns=”90000″ bIns=”45000″ anchor=”ctr”>
<a:noAutofit/>
</a:bodyPr>
<a:lstStyle/>
<a:p>
<a:endParaRPr lang=”en-GB” sz=”1800″ b=”0″ u=”none” strike=”noStrike”>
<a:solidFill>
<a:srgbClr val=”000000″/>
</a:solidFill>
<a:effectLst/>
<a:uFillTx/>
<a:latin typeface=”Arial”/>
</a:endParaRPr>
</a:p>
</p:txBody>
</p:sp>
<p:sp>
<p:nvSpPr>
<p:cNvPr id=”25″ name=”Rettangolo 24″/>
<p:cNvSpPr/>
<p:nvPr/>
</p:nvSpPr>
<p:spPr>
<a:xfrm>
<a:off x=”5519520″ y=”4087080″/>
<a:ext cx=”1442880″ cy=”1117440″/>
</a:xfrm>
<a:prstGeom prst=”rect”>
<a:avLst/>
</a:prstGeom>
<a:solidFill>
<a:srgbClr val=”0000FF”/>
</a:solidFill>
<a:ln w=”0″>
<a:solidFill>
<a:srgbClr val=”000000″/>
</a:solidFill>
</a:ln>
</p:spPr>
<p:style>
<a:lnRef idx=”0″>
<a:scrgbClr r=”0″ g=”0″ b=”0″/>
</a:lnRef>
<a:fillRef idx=”0″>
<a:scrgbClr r=”0″ g=”0″ b=”0″/>
</a:fillRef>
<a:effectRef idx=”0″>
<a:scrgbClr r=”0″ g=”0″ b=”0″/>
</a:effectRef>
<a:fontRef idx=”minor”/>
</p:style>
<p:txBody>
<a:bodyPr wrap=”none” lIns=”90000″ tIns=”45000″ rIns=”90000″ bIns=”45000″ anchor=”ctr”>
<a:noAutofit/>
</a:bodyPr>
<a:lstStyle/>
<a:p>
<a:endParaRPr lang=”en-GB” sz=”1800″ b=”0″ u=”none” strike=”noStrike”>
<a:solidFill>
<a:srgbClr val=”FFFFFF”/>
</a:solidFill>
<a:effectLst/>
<a:uFillTx/>
<a:latin typeface=”Arial”/>
</a:endParaRPr>
</a:p>
</p:txBody>
</p:sp>
<p:sp>
<p:nvSpPr>
<p:cNvPr id=”26″ name=”Rettangolo 25″/>
<p:cNvSpPr/>
<p:nvPr/>
</p:nvSpPr>
<p:spPr>
<a:xfrm>
<a:off x=”7917480″ y=”4102560″/>
<a:ext cx=”1443240″ cy=”1117440″/>
</a:xfrm>
<a:prstGeom prst=”rect”>
<a:avLst/>
</a:prstGeom>
<a:solidFill>
<a:srgbClr val=”FFFFFF”/>
</a:solidFill>
<a:ln w=”0″>
<a:solidFill>
<a:srgbClr val=”000000″/>
</a:solidFill>
</a:ln>
</p:spPr>
<p:style>
<a:lnRef idx=”0″>
<a:scrgbClr r=”0″ g=”0″ b=”0″/>
</a:lnRef>
<a:fillRef idx=”0″>
<a:scrgbClr r=”0″ g=”0″ b=”0″/>
</a:fillRef>
<a:effectRef idx=”0″>
<a:scrgbClr r=”0″ g=”0″ b=”0″/>
</a:effectRef>
<a:fontRef idx=”minor”/>
</p:style>
<p:txBody>
<a:bodyPr wrap=”none” lIns=”90000″ tIns=”45000″ rIns=”90000″ bIns=”45000″ anchor=”ctr”>
<a:noAutofit/>
</a:bodyPr>
<a:lstStyle/>
<a:p>
<a:endParaRPr lang=”en-GB” sz=”1800″ b=”0″ u=”none” strike=”noStrike”>
<a:solidFill>
<a:srgbClr val=”000000″/>
</a:solidFill>
<a:effectLst/>
<a:uFillTx/>
<a:latin typeface=”Arial”/>
</a:endParaRPr>
</a:p>
</p:txBody>
</p:sp>
<p:sp>
<p:nvSpPr>
<p:cNvPr id=”27″ name=”Rettangolo 26″/>
<p:cNvSpPr/>
<p:nvPr/>
</p:nvSpPr>
<p:spPr>
<a:xfrm>
<a:off x=”721080″ y=”2689200″/>
<a:ext cx=”1443240″ cy=”1117080″/>
</a:xfrm>
<a:prstGeom prst=”rect”>
<a:avLst/>
</a:prstGeom>
<a:solidFill>
<a:srgbClr val=”FF0000″/>
</a:solidFill>
<a:ln w=”0″>
<a:solidFill>
<a:srgbClr val=”000000″/>
</a:solidFill>
</a:ln>
</p:spPr>
<p:style>
<a:lnRef idx=”0″>
<a:scrgbClr r=”0″ g=”0″ b=”0″/>
</a:lnRef>
<a:fillRef idx=”0″>
<a:scrgbClr r=”0″ g=”0″ b=”0″/>
</a:fillRef>
<a:effectRef idx=”0″>
<a:scrgbClr r=”0″ g=”0″ b=”0″/>
</a:effectRef>
<a:fontRef idx=”minor”/>
</p:style>
<p:txBody>
<a:bodyPr wrap=”none” lIns=”90000″ tIns=”45000″ rIns=”90000″ bIns=”45000″ anchor=”ctr”>
<a:noAutofit/>
</a:bodyPr>
<a:lstStyle/>
<a:p>
<a:endParaRPr lang=”en-GB” sz=”1800″ b=”0″ u=”none” strike=”noStrike”>
<a:solidFill>
<a:srgbClr val=”FFFFFF”/>
</a:solidFill>
<a:effectLst/>
<a:uFillTx/>
<a:latin typeface=”Arial”/>
</a:endParaRPr>
</a:p>
</p:txBody>
</p:sp>
<p:sp>
<p:nvSpPr>
<p:cNvPr id=”28″ name=”Rettangolo 27″/>
<p:cNvSpPr/>
<p:nvPr/>
</p:nvSpPr>
<p:spPr>
<a:xfrm>
<a:off x=”3120120″ y=”2689200″/>
<a:ext cx=”1442880″ cy=”1117080″/>
</a:xfrm>
<a:prstGeom prst=”rect”>
<a:avLst/>
</a:prstGeom>
<a:solidFill>
<a:srgbClr val=”00FF00″/>
</a:solidFill>
<a:ln w=”0″>
<a:solidFill>
<a:srgbClr val=”000000″/>
</a:solidFill>
</a:ln>
</p:spPr>
<p:style>
<a:lnRef idx=”0″>
<a:scrgbClr r=”0″ g=”0″ b=”0″/>
</a:lnRef>
<a:fillRef idx=”0″>
<a:scrgbClr r=”0″ g=”0″ b=”0″/>
</a:fillRef>
<a:effectRef idx=”0″>
<a:scrgbClr r=”0″ g=”0″ b=”0″/>
</a:effectRef>
<a:fontRef idx=”minor”/>
</p:style>
<p:txBody>
<a:bodyPr wrap=”none” lIns=”90000″ tIns=”45000″ rIns=”90000″ bIns=”45000″ anchor=”ctr”>
<a:noAutofit/>
</a:bodyPr>
<a:lstStyle/>
<a:p>
<a:endParaRPr lang=”en-GB” sz=”1800″ b=”0″ u=”none” strike=”noStrike”>
<a:solidFill>
<a:srgbClr val=”000000″/>
</a:solidFill>
<a:effectLst/>
<a:uFillTx/>
<a:latin typeface=”Arial”/>
</a:endParaRPr>
</a:p>
</p:txBody>
</p:sp>
<p:sp>
<p:nvSpPr>
<p:cNvPr id=”29″ name=”Rettangolo 28″/>
<p:cNvSpPr/>
<p:nvPr/>
</p:nvSpPr>
<p:spPr>
<a:xfrm>
<a:off x=”5519160″ y=”2673720″/>
<a:ext cx=”1442880″ cy=”1117080″/>
</a:xfrm>
<a:prstGeom prst=”rect”>
<a:avLst/>
</a:prstGeom>
<a:solidFill>
<a:srgbClr val=”0000FF”/>
</a:solidFill>
<a:ln w=”0″>
<a:solidFill>
<a:srgbClr val=”000000″/>
</a:solidFill>
</a:ln>
</p:spPr>
<p:style>
<a:lnRef idx=”0″>
<a:scrgbClr r=”0″ g=”0″ b=”0″/>
</a:lnRef>
<a:fillRef idx=”0″>
<a:scrgbClr r=”0″ g=”0″ b=”0″/>
</a:fillRef>
<a:effectRef idx=”0″>
<a:scrgbClr r=”0″ g=”0″ b=”0″/>
</a:effectRef>
<a:fontRef idx=”minor”/>
</p:style>
<p:txBody>
<a:bodyPr wrap=”none” lIns=”90000″ tIns=”45000″ rIns=”90000″ bIns=”45000″ anchor=”ctr”>
<a:noAutofit/>
</a:bodyPr>
<a:lstStyle/>
<a:p>
<a:endParaRPr lang=”en-GB” sz=”1800″ b=”0″ u=”none” strike=”noStrike”>
<a:solidFill>
<a:srgbClr val=”FFFFFF”/>
</a:solidFill>
<a:effectLst/>
<a:uFillTx/>
<a:latin typeface=”Arial”/>
</a:endParaRPr>
</a:p>
</p:txBody>
</p:sp>
<p:sp>
<p:nvSpPr>
<p:cNvPr id=”30″ name=”Rettangolo 29″/>
<p:cNvSpPr/>
<p:nvPr/>
</p:nvSpPr>
<p:spPr>
<a:xfrm>
<a:off x=”7917120″ y=”2689200″/>
<a:ext cx=”1443240″ cy=”1117080″/>
</a:xfrm>
<a:prstGeom prst=”rect”>
<a:avLst/>
</a:prstGeom>
<a:solidFill>
<a:srgbClr val=”FFFFFF”/>
</a:solidFill>
<a:ln w=”0″>
<a:solidFill>
<a:srgbClr val=”000000″/>
</a:solidFill>
</a:ln>
</p:spPr>
<p:style>
<a:lnRef idx=”0″>
<a:scrgbClr r=”0″ g=”0″ b=”0″/>
</a:lnRef>
<a:fillRef idx=”0″>
<a:scrgbClr r=”0″ g=”0″ b=”0″/>
</a:fillRef>
<a:effectRef idx=”0″>
<a:scrgbClr r=”0″ g=”0″ b=”0″/>
</a:effectRef>
<a:fontRef idx=”minor”/>
</p:style>
<p:txBody>
<a:bodyPr wrap=”none” lIns=”90000″ tIns=”45000″ rIns=”90000″ bIns=”45000″ anchor=”ctr”>
<a:noAutofit/>
</a:bodyPr>
<a:lstStyle/>
<a:p>
<a:endParaRPr lang=”en-GB” sz=”1800″ b=”0″ u=”none” strike=”noStrike”>
<a:solidFill>
<a:srgbClr val=”000000″/>
</a:solidFill>
<a:effectLst/>
<a:uFillTx/>
<a:latin typeface=”Arial”/>
</a:endParaRPr>
</a:p>
</p:txBody>
</p:sp>
<p:sp>
<p:nvSpPr>
<p:cNvPr id=”31″ name=”Rettangolo 30″/>
<p:cNvSpPr/>
<p:nvPr/>
</p:nvSpPr>
<p:spPr>
<a:xfrm>
<a:off x=”720720″ y=”1275480″/>
<a:ext cx=”1443240″ cy=”1117440″/>
</a:xfrm>
<a:prstGeom prst=”rect”>
<a:avLst/>
</a:prstGeom>
<a:solidFill>
<a:srgbClr val=”FF0000″/>
</a:solidFill>
<a:ln w=”0″>
<a:solidFill>
<a:srgbClr val=”000000″/>
</a:solidFill>
</a:ln>
</p:spPr>
<p:style>
<a:lnRef idx=”0″>
<a:scrgbClr r=”0″ g=”0″ b=”0″/>
</a:lnRef>
<a:fillRef idx=”0″>
<a:scrgbClr r=”0″ g=”0″ b=”0″/>
</a:fillRef>
<a:effectRef idx=”0″>
<a:scrgbClr r=”0″ g=”0″ b=”0″/>
</a:effectRef>
<a:fontRef idx=”minor”/>
</p:style>
<p:txBody>
<a:bodyPr wrap=”none” lIns=”90000″ tIns=”45000″ rIns=”90000″ bIns=”45000″ anchor=”ctr”>
<a:noAutofit/>
</a:bodyPr>
<a:lstStyle/>
<a:p>
<a:endParaRPr lang=”en-GB” sz=”1800″ b=”0″ u=”none” strike=”noStrike”>
<a:solidFill>
<a:srgbClr val=”FFFFFF”/>
</a:solidFill>
<a:effectLst/>
<a:uFillTx/>
<a:latin typeface=”Arial”/>
</a:endParaRPr>
</a:p>
</p:txBody>
</p:sp>
<p:sp>
<p:nvSpPr>
<p:cNvPr id=”32″ name=”Rettangolo 31″/>
<p:cNvSpPr/>
<p:nvPr/>
</p:nvSpPr>
<p:spPr>
<a:xfrm>
<a:off x=”3119760″ y=”1275480″/>
<a:ext cx=”1442880″ cy=”1117440″/>
</a:xfrm>
<a:prstGeom prst=”rect”>
<a:avLst/>
</a:prstGeom>
<a:solidFill>
<a:srgbClr val=”00FF00″/>
</a:solidFill>
<a:ln w=”0″>
<a:solidFill>
<a:srgbClr val=”000000″/>
</a:solidFill>
</a:ln>
</p:spPr>
<p:style>
<a:lnRef idx=”0″>
<a:scrgbClr r=”0″ g=”0″ b=”0″/>
</a:lnRef>
<a:fillRef idx=”0″>
<a:scrgbClr r=”0″ g=”0″ b=”0″/>
</a:fillRef>
<a:effectRef idx=”0″>
<a:scrgbClr r=”0″ g=”0″ b=”0″/>
</a:effectRef>
<a:fontRef idx=”minor”/>
</p:style>
<p:txBody>
<a:bodyPr wrap=”none” lIns=”90000″ tIns=”45000″ rIns=”90000″ bIns=”45000″ anchor=”ctr”>
<a:noAutofit/>
</a:bodyPr>
<a:lstStyle/>
<a:p>
<a:endParaRPr lang=”en-GB” sz=”1800″ b=”0″ u=”none” strike=”noStrike”>
<a:solidFill>
<a:srgbClr val=”000000″/>
</a:solidFill>
<a:effectLst/>
<a:uFillTx/>
<a:latin typeface=”Arial”/>
</a:endParaRPr>
</a:p>
</p:txBody>
</p:sp>
<p:sp>
<p:nvSpPr>
<p:cNvPr id=”33″ name=”Rettangolo 32″/>
<p:cNvSpPr/>
<p:nvPr/>
</p:nvSpPr>
<p:spPr>
<a:xfrm>
<a:off x=”5518800″ y=”1260000″/>
<a:ext cx=”1442880″ cy=”1117440″/>
</a:xfrm>
<a:prstGeom prst=”rect”>
<a:avLst/>
</a:prstGeom>
<a:solidFill>
<a:srgbClr val=”0000FF”/>
</a:solidFill>
<a:ln w=”0″>
<a:solidFill>
<a:srgbClr val=”000000″/>
</a:solidFill>
</a:ln>
</p:spPr>
<p:style>
<a:lnRef idx=”0″>
<a:scrgbClr r=”0″ g=”0″ b=”0″/>
</a:lnRef>
<a:fillRef idx=”0″>
<a:scrgbClr r=”0″ g=”0″ b=”0″/>
</a:fillRef>
<a:effectRef idx=”0″>
<a:scrgbClr r=”0″ g=”0″ b=”0″/>
</a:effectRef>
<a:fontRef idx=”minor”/>
</p:style>
<p:txBody>
<a:bodyPr wrap=”none” lIns=”90000″ tIns=”45000″ rIns=”90000″ bIns=”45000″ anchor=”ctr”>
<a:noAutofit/>
</a:bodyPr>
<a:lstStyle/>
<a:p>
<a:endParaRPr lang=”en-GB” sz=”1800″ b=”0″ u=”none” strike=”noStrike”>
<a:solidFill>
<a:srgbClr val=”FFFFFF”/>
</a:solidFill>
<a:effectLst/>
<a:uFillTx/>
<a:latin typeface=”Arial”/>
</a:endParaRPr>
</a:p>
</p:txBody>
</p:sp>
<p:sp>
<p:nvSpPr>
<p:cNvPr id=”34″ name=”Rettangolo 33″/>
<p:cNvSpPr/>
<p:nvPr/>
</p:nvSpPr>
<p:spPr>
<a:xfrm>
<a:off x=”7916760″ y=”1275480″/>
<a:ext cx=”1443240″ cy=”1117440″/>
</a:xfrm>
<a:prstGeom prst=”rect”>
<a:avLst/>
</a:prstGeom>
<a:solidFill>
<a:srgbClr val=”FFFFFF”/>
</a:solidFill>
<a:ln w=”0″>
<a:solidFill>
<a:srgbClr val=”000000″/>
</a:solidFill>
</a:ln>
</p:spPr>
<p:style>
<a:lnRef idx=”0″>
<a:scrgbClr r=”0″ g=”0″ b=”0″/>
</a:lnRef>
<a:fillRef idx=”0″>
<a:scrgbClr r=”0″ g=”0″ b=”0″/>
</a:fillRef>
<a:effectRef idx=”0″>
<a:scrgbClr r=”0″ g=”0″ b=”0″/>
</a:effectRef>
<a:fontRef idx=”minor”/>
</p:style>
<p:txBody>
<a:bodyPr wrap=”none” lIns=”90000″ tIns=”45000″ rIns=”90000″ bIns=”45000″ anchor=”ctr”>
<a:noAutofit/>
</a:bodyPr>
<a:lstStyle/>
<a:p>
<a:endParaRPr lang=”en-GB” sz=”1800″ b=”0″ u=”none” strike=”noStrike”>
<a:solidFill>
<a:srgbClr val=”000000″/>
</a:solidFill>
<a:effectLst/>
<a:uFillTx/>
<a:latin typeface=”Arial”/>
</a:endParaRPr>
</a:p>
</p:txBody>
</p:sp>
</p:spTree>
</p:cSld>
SLIDE8:XLS
<p:cSld>
<p:spTree>
<p:nvGrpSpPr>
<p:cNvPr id=”1″ name=””/>
<p:cNvGrpSpPr/>
<p:nvPr/>
</p:nvGrpSpPr>
<p:grpSpPr>
<a:xfrm>
<a:off x=”0″ y=”0″/>
<a:ext cx=”0″ cy=”0″/>
<a:chOff x=”0″ y=”0″/>
<a:chExt cx=”0″ cy=”0″/>
</a:xfrm>
</p:grpSpPr>
<p:sp>
<p:nvSpPr>
<p:cNvPr id=”35″ name=”PlaceHolder 1″/>
<p:cNvSpPr>
<a:spLocks noGrp=”1″/>
</p:cNvSpPr>
<p:nvPr>
<p:ph type=”title”/>
</p:nvPr>
</p:nvSpPr>
<p:spPr>
<a:xfrm>
<a:off x=”504000″ y=”225720″/>
<a:ext cx=”9071640″ cy=”946800″/>
</a:xfrm>
<a:prstGeom prst=”rect”>
<a:avLst/>
</a:prstGeom>
<a:noFill/>
<a:ln w=”0″>
<a:noFill/>
</a:ln>
</p:spPr>
<p:txBody>
<a:bodyPr lIns=”0″ tIns=”0″ rIns=”0″ bIns=”0″ anchor=”ctr”>
<a:spAutoFit/>
</a:bodyPr>
<a:lstStyle/>
<a:p>
<a:pPr indent=”0″ algn=”ctr”>
<a:buNone/>
</a:pPr>
<a:r>
<a:rPr lang=”en-GB” sz=”3600″ b=”1″ u=”none” strike=”noStrike”>
<a:solidFill>
<a:srgbClr val=”000000″/>
</a:solidFill>
<a:effectLst/>
<a:uFillTx/>
<a:latin typeface=”Aptos”/>
</a:rPr>
<a:t>It could work</a:t>
</a:r>
</a:p>
</p:txBody>
</p:sp>
<p:pic>
<p:nvPicPr>
<p:cNvPr id=”36″ name=”Immagine 35″>
<a:hlinkClick r:id=”” action=”ppaction://media”/>
</p:cNvPr>
<p:cNvPicPr/>
<p:nvPr>
<a:videoFile r:link=”rId2″/>
<p:extLst>
<p:ext uri=”{DAA4B4D4-6D71-4841-9C94-3DE7FCFB9230}”>
<p14:media xmlns:p14=”http://schemas.microsoft.com/office/powerpoint/2010/main” r:embed=”rId1″/>
</p:ext>
</p:extLst>
</p:nvPr>
</p:nvPicPr>
<p:blipFill>
<a:blip r:embed=”rId4″/>
<a:stretch>
<a:fillRect/>
</a:stretch>
</p:blipFill>
<p:spPr>
<a:xfrm>
<a:off x=”2050200″ y=”1326240″/>
<a:ext cx=”5978880″ cy=”3288240″/>
</a:xfrm>
<a:prstGeom prst=”rect”>
<a:avLst/>
</a:prstGeom>
<a:ln w=”0″>
<a:noFill/>
</a:ln>
</p:spPr>
</p:pic>
</p:spTree>
</p:cSld>
In the case of PPTX files, the unnecessary complexity is therefore multiplied by the number of slides, and by other factors:
- Despite using an English operating system and browser, Microsoft 365 has decided to use Italian, randomly inserting Italian terms into the XML files. For example, the video on slide 8 is labelled ‘Immagine 35’ (why not ‘Video 35’, which would be more accurate?), and the boxes on slide 7 are labelled ‘Rettangolo 22’ (and so on). What would happen if a German user received and saved the presentation? Would the terms “immagine” and “rettangolo” be translated into German, or would they remain in Italian?
- The placeholders for images and videos do not match the file names in the media folder. Despite searching through all the XML files, I couldn’t find the string “video1.mp4”, which the video was renamed to in the media folder, nor a reference to the placeholder “Immagine 35” used in the slide8.xml file. The problem is not the file name itself, but the fact that it is impossible for an average user to trace the file due to a lack of correspondence. I am sure that the correspondence is defined in some (extremely cryptic) way because I cannot imagine every PC independently deciding that, wherever “Immagine 35” appears, “video1.mp4” must be displayed. This would go beyond any form of artificial intelligence.
- In some cases, the XML tags are incomprehensible and contain serious errors. For instance, in the case of green fill colours, the tag is <a:srgbClr val=”00FF00″>, which clearly references the RGB colour model despite the value being hexadecimal. The content.xml file of the ODP file correctly uses the tag <draw:fill-colour=”#00FF00″>. While “draw:fill-colour” is fairly understandable, “a:srgbClr val” is much less so (and is also incorrect). Moreover, why would there be an “a:” prefix in a programme called PowerPoint? Perhaps because the developer was called Dennis Austin? Why not use “f:” for Forethought then, the company from which Microsoft purchased the software? I’m just joking, of course.
- …
I hope no one has the courage to argue that all these complexities and oddities are essential for displaying the slides correctly, not to mention the errors. For example, why is there an XML file for each slide? Why are there Italian terms in an XML file? Why RGB colour when it is hexadecimal? I’ve been waiting years for a convincing answer, but I still haven’t received one. Perhaps I will get one this time.
Conclusions
Once again, comparing the XML schemas of ODP and PPTX files highlights the unnecessarily complex structure of the latter, given that there is no reason why each slide should have a separate XML file. There is also no reason for the internal structure of PPTX files to differ from that of DOCX files, which in turn differs from that of XLSX files.
As I have explained many times, the reality is what I have described here, without going into technical detail. Microsoft has created a file format that does not respond to the concept of a standard in any way. It is unnecessarily complex and creative, both in terms of the internal structure of the files and the XML schema, including the tags, which are not intuitive, unlike those used by ODF files.
Best practices for the effective use of XML tags recommend the use of clear tag names that describe the enclosed content and the maintenance of consistency in this tagging scheme. In the case of document formats, this means that once a set of XML tags has been defined, they should be used consistently throughout (i.e. the same tags should be used in all files). This is the opposite of what happens with the proprietary OOXML format, which is designed to force users to remain tied to Microsoft 365 (and, previously, to Microsoft Office in its various versions).
ODF, on the other hand, complies with XML best practices, giving developers and users full control over their content, including privacy protection, proper management of sensitive data and the ability to decide what to share and with whom.
ODF is the open, standard document format that we should all use, but only a minority do due to a lack of knowledge about the reality of the OOXML format, and because too many users place messianic trust in Microsoft. This means they remain “handcuffed” to proprietary software.