The role of ODF in digital sovereignty (digital freedom)

Digital sovereignty, or the ability of nations, organisations and individuals to control their own digital destiny, is a fundamental issue of the 21st century. At the heart of this challenge lies a seemingly trivial question: who controls the format of the documents that contain our intellectual property or personal information?

In this context, the standard and open Open Document Format (ODF) – the native format of LibreOffice documents, also supported by other suites – is the fundamental technology for those seeking true digital independence.

Digital sovereignty includes the ability to control access to one’s own information without depending on third parties, to make independent technological choices based on one’s own needs, to ensure independent access to strategic data without depending on the commercial interests of Big Tech, and to maintain this technological self-determination in the face of market consolidation.

When government agencies, businesses, or citizens store their documents in proprietary formats controlled by Big Tech, they surrender part of their sovereignty and depend on these external entities to access their own information.

Why document formats are important for sovereignty

Document formats are infrastructure, which—like roads, power grids, or telecommunications networks—are fundamental to the functioning of modern societies. Consider what happens when strategic documents exist only in formats controlled by a single vendor:

  • Vendor Lock-In: Organisations find themselves trapped, unable to switch to alternative software without costly conversion processes and potential data loss.
  • Loss of Control: formats can and do change without notice and beyond the control of users, increasing the effect of vendor lock-in.
  • Fragility of Access: if the vendor controlling the format changes the format or discontinues support, as was the case with Windows 10, access to documents becomes problematic or impossible.
  • Economic Dependency: The cost of the licence required to perform software updates creates a relationship of economic dependency in order to access one’s own data, and effectively transfers ownership of the data to the vendor that controls the format.

Why ODF is the only tool for digital sovereignty

ODF is governed by OASIS, an international standardisation organisation that protects its transparent development, and is published as ISO/IEC 26300-2015 (and soon ISO/IEC 26300-2025). Unlike proprietary formats, ODF specifications are public and can be freely implemented, are developed through a transparent, multi-stakeholder process, are not controlled by a single government or company, and are subject to international standardisation bodies.

This means that governments and companies can participate in defining the format specifications, rather than being forced to passively accept changes imposed by a single vendor based on its commercial strategies.

Thus, ODF specifications allow anyone to create an office suite that natively supports the format and promotes digital sovereignty, without any authorisation, licence fees or fear of legal action, while supporting the local software industry.

ODF enables true interoperability, not only between different software packages, but also between countries, languages and political systems. A document created in Brazil can be opened and edited in India, Germany or Japan using locally developed software. This breaks down digital barriers and enables the creation of diverse, independent technology ecosystems.

A stack for digital sovereignty

Digital sovereignty requires a multi-layered infrastructure, starting with the ODF open standard format to ensure format independence, moving on to an open source office suite such as LibreOffice to have control over the tool, an open source cloud infrastructure such as Nextcloud to have control over the location of the data, and ending with a legislative framework that defines the requirements for sovereignty.

ODF is at the base of the stack because without an open standard for document format, digital sovereignty is still limited, even with elements such as a law favouring open source software, an open source cloud infrastructure, and an open source office suite.

Challenges for adopting the ODF format

Adopting the open standard ODF format for digital sovereignty is not without its challenges, for several reasons:

  • Migration from proprietary formats requires planning, training and, in many cases, managing interoperability issues due to unnecessary complexities artificially built into the proprietary format.
  • When stakeholders in the organisation continue to use the proprietary format, exchanging documents in ODF format can create interoperability issues, as office suites that do not use ODF as their native format have problems handling ODF files appropriately.
  • Implementing policies focused on digital sovereignty requires a clear commitment from management, which must prioritise long-term independence over short-term convenience.

However, all of these challenges can be managed and tend to diminish over time, while the constraints and costs of dependence on proprietary formats become increasingly severe.

Long-term archiving with ODF: a future-proof strategy

Digital documents in proprietary formats often become inaccessible within a few years due to undocumented changes to the XML schema that are intentionally employed for lock-in purposes. To avoid this problem, it is advisable to use the Open Document Format (ODF) not only for everyday tasks, but also for long-term storage. This ensures that documents remain accessible for years or even generations.

Without this approach, government documents, academic research, legal documents and corporate archives risk becoming true digital orphans — files that exist, but cannot be read. This is not so much because the software that created them is obsolete, but because the XML schema has been modified to make the files readable by a specific version of a single software program. However, the layering of changes makes them unreadable by any software in the long term.

Why is ODF suitable for archiving?

ODF (ISO/IEC 26300 and subsequent versions) is an open standard, managed transparently by OASIS. Its development process and specifications are documented and publicly accessible, unlike proprietary formats, where the process is undocumented and the ISO/IEC specifications do not reflect the reality of the format. This means that even if the current software disappeared, developers could create new programmes compatible with the standard to handle the files and access their content.

Furthermore, ODF files are compressed archives (ZIP) containing XML files based on a schema that can be easily read by non-technical users, enabling anyone to extract and interpret the content. This transparency of format is a fundamental element of its archival value. In contrast, the XML schema of proprietary files is intentionally designed to be unreadable. In this sense, it is a perfect example of how a language created for simplification, such as XML, can become a subtle lock-in tool if used contrary to its nature.

Finally, ODF maintains strong backwards compatibility between versions. This means that all files created with ODF 1.0 in 2005 — immediately after standardisation by OASIS — can be opened without issue by applications released in 2025. This stability is intentional; the format was designed with long-term preservation in mind.

Best practices for archiving in the ODF format

Although newer versions add functionality, the best option for long-term archiving is to use a version recognised by ISO/IEC, such as ODF 1.2 (ISO/IEC 26300-1:2015) or, in the near future, ODF 1.3 (ISO/IEC 26300:2025). This is because it is mature and well documented, and will remain compatible for decades, offering an excellent balance between functionality and breadth of support.

For documents where faithful visual reproduction is important, it is advisable to embed fonts in ODF files to avoid font substitution issues when files are opened years later in a different environment to the one used to create them.

Additionally, all resources related to the documents (images, graphics, etc.) should be embedded in the ODF file rather than linked externally because external links are at risk of breaking over time if the original file is moved, which could render the documents incomplete.

Finally, to enable recognition of the file years later, take advantage of rich metadata support by adding the creation date, author, subject, and any other contextual information that could help understand the document’s purpose and origin. In any case, even when using an open standard format such as ODF for long-term archiving, it is advisable to plan for the periodic migration of archives to the most recent version of the format, and to check the accessibility of files every few years.

ODF, though, cannot be used to archive documents which have to maintain their original format, without the risk of being inadvertently edited. For these documents, a different approach based on PDF/A should be considered. PDF/A is specifically designed for archiving and complements ODF perfectly in a comprehensive archiving strategy, so is ideal for final documents that are not expected to be modified over time.

Since no format can protect against media failure, it is best to keep multiple copies of each file on different storage media and in different locations, following the 3-2-1 backup rule: three copies on two types of media, with one copy off-site. In addition, the archiving processes should be documented and the documentation should be easily accessible, so that people taking on different roles within the company can reproduce and update the process in a manner consistent with the software tools used, as well as with decisions on strategy and formats.

Looking to the future

The digital preservation landscape continues to evolve, but ODF’s commitment to open standards, transparency and vendor independence positions it as the best long-term choice, thanks to its dedication to ensuring information accessibility extends beyond the lifespan of a single organisation.

In a world where planned obsolescence is an increasingly common strategy and is sometimes imposed, as with the end of support for Windows 10 forcing the abandonment of perfectly functioning hardware despite any talk of sustainability and reducing digital waste, this commitment is rare and valuable.

ODF format security: encryption, signatures and metadata management

Open Document Format (ODF) is an open standard for office documents – texts, spreadsheets, presentations and more – that is flexible and interoperable. As with any other digital format, its security is a key concern, as ODF files often contain sensitive information that, without adequate protection measures, can be exposed, tampered with or tracked.

This post analyses how ODF handles security, focusing on encryption, digital signatures and metadata management: three features that protect documents from prying eyes and tampering.

Encryption: content locking

ODF supports file-level encryption using standard algorithms. When you save an ODF document with a password, the content is compressed and then encrypted using AES (Advanced Encryption Standard), typically with a 256-bit key.

Here’s what happens behind the scenes:

  1. The document content (the XML file) is compressed.
  2. A random salt (a sequence of bits used together with a password as input to a one-way function) and an initialisation vector (IV), which is a block of bits of a predefined length, are generated.
  3. A key is derived from the password using PBKDF2 (Password-Based Key Derivation Function 2). The key is a string of data used with an algorithm to encode (encrypt) and decode (decrypt) the text, transforming it from plain text to unreadable text.
  4. AES encrypts the content using this key.

This is encryption based on open and verified algorithms, sufficiently strong when implemented correctly, whose security depends largely on the strength of the password. Users should therefore always use long, unique passwords, preferably created by a password generator.

Unfortunately, not all applications that support the ODF format implement encryption in the same way, with possible repercussions on interoperability.

Digital signatures: who modified the document?

Digital signatures guarantee authenticity and integrity, and show who created or modified the ODF file, and whether it has been modified by another user since its creation.

How it works:

  1. ODF uses XML digital signatures.
  2. A cryptographic hash of the document’s content is created (a fixed-size digital fingerprint of data, created by a one-way algorithm that is almost impossible to reverse).
  3. This hash is signed with the signer’s private key (a secret code, similar to a password, used to encrypt and decrypt data and digitally sign transactions).
  4. The signature is stored in “META-INF/documentsignatures.xml”.

This makes it possible to verify the origin of the document, but verifying signatures requires access to the signer’s public key or certificate. If the workflow involves multiple people, multiple signatures are supported. Any changes to the file after signing invalidate the signature.

Unfortunately, not all office suites that support ODF consistently display or validate signatures.

Metadata management: a potential information leak

Metadata can unintentionally disclose various information, including sensitive information such as usernames, file paths, software versions, timestamps (creation and save dates), and even content revision history.

What does metadata contain?

  1. Author name, change history, and save times.
  2. Custom properties, such as project codes or internal comments.
  3. Application-specific data embedded in namespaces.

Malicious actors can extract metadata for social engineering, document tracking, or profiling purposes. To prevent this, use metadata cleaning tools—such as those in LibreOffice—or document sanitisation tools, such as manually inspecting the “meta.xml” file within the ODF archive. Of course, it is always best to avoid including unnecessary comments or tracked changes before sharing.

Final considerations

ODF is a robust format, and its security features are solid when used correctly. Encrypt sensitive files with strong passwords. Sign important documents to assert ownership and integrity. And don’t forget to clean up metadata before hitting “send”.

Security is not just about features, but also about habits. Make these protections an integral part of your standard workflow, and your ODF files will be able to withstand most threats.

Make your ODF files accessible: a simple guide for everyone

People without disabilities have no problem viewing documents on a computer screen, but there are people with visual impairments or who are blind who use screen readers and keyboard navigation. ODF files have everything they need to be accessible to these people too, and this is a short guide to creating documents that they can use without any problems.

In the context of digital document management, accessible means that a document can be consulted without any constraints related to the ability to see or move one’s hands with dexterity. This means that people can quickly find what they are looking for (headings, lists, indexes), understand the meaning of graphs and images thanks to descriptions, tables are simple and clear, and they can read the text because the contrast is good and the links make sense even out of context.

To achieve this result, which does not discriminate against people based on their physical characteristics, it is necessary to follow a few simple rules when creating a document. Obviously, we are talking about LibreOffice, although the rules also apply to other office suites (although in this case the document format will be proprietary and not standard).

1. Use styles for headings (not just bold text)

  • Screen readers use headings to move around the page.
  • To do this, select the heading and choose Heading 1 from the styles drop-down menu, Heading 2 for sections, and Heading 3 for subsections.
  • Avoid skipping numbers, but always follow the order 1, 2, 3.

2. Create lists using the appropriate buttons

  • This way, screen readers count the items correctly.
  • To do this, highlight the items and click on the Bulleted List or Numbered List button. Avoid typing dots or numbers manually.

3. Add alternative text to every image, graph or icon

  • This way, people who cannot see the image will still receive the message.
  • To do this, right-click on the image, select Properties, select Options, and fill in the Alternative (text only) field.
  • For example: in the case of an image, ‘team photo: from left to right, Mr. X, Mr. Y, and Mr. Z’; in the case of a graph, ‘sales increased every month, and the fourth quarter was the highest with £X million’.

4. Create simple tables

  • Complex tables are difficult for screen readers to read.
  • To do this, use the first row for headers (for example: Name and Date), and avoid merging or splitting cells.
  • Avoid using tables solely to order elements within the page.

5. Create self-explanatory links

  • A link such as “click here” tells a screen reader nothing.
  • To do this, write the action related to the link as if it were the link itself.
  • For example: “Download the budget report (in ODF format)”.

6. Set the language

  • This allows screen readers to pronounce words correctly.
  • To do this for the entire document, select the language in the status bar at the bottom of the screen.
  • To do this for a portion of the document, highlight the text and select the language in the status bar at the bottom of the screen.

7. Use light colours and strong contrast

  • Screen readers have trouble reading low-contrast text.
  • To do this, use dark text on a light background, and never use colour alone to emphasise the meaning of a word.
  • For example: “Expired items are written in red and labelled as EXPIRED”.

8. Label all fields on any forms

  • This way, even visually impaired or blind people know what to type and where.
  • To do this, add a label immediately before the field (e.g., Email Address), and maintain a logical tab order (top to bottom, and left to right for Western languages).

9. Add a table of contents to longer documents

  • This makes navigation easier and faster.
  • To do this, place the cursor where you want it, select Insert, select Table of Contents, and accept the default settings.
  • For the table of contents, level 1/2/3 headings are used, so step 1 is extremely important.

The artificial complexity of OOXML files (the PPTX case)

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):

slidelo

To 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:

  1. 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?
  2. 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.
  3. 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.

The artificial complexity of OOXML files (the DOCX case)

The complexity of the OOXML format is linked to its design and was deliberately created to make the format more difficult for non-Microsoft software developers to implement. Compatibility issues are caused by a veritable “maze” of tags used even for the simplest content, which binds users to the Microsoft ecosystem in the first example of standard-based lock-in.

The DOCX case

To demonstrate the difference in complexity between the XML schemas of Writer and Word text documents in the ODF and OOXML formats, I used two classic English theatre plays: William Shakespeare’s Hamlet and Oscar Wilde’s The Importance of Being Earnest. I downloaded the text versions of these works from Project Gutenberg — a library of classic texts for which US copyright has expired — and deleted the introductions and conclusions added by Project Gutenberg, without making any other changes.

I then repeated this process for both documents.

I copied all the text and pasted it, without any formatting, into two newly created blank documents. For Writer, I used the template that I usually use for unstructured documents; for Word, I did not use a template. This means that, in Writer, the XML schema contains information about the template (margins, paragraph and font formatting), but this does not increase its complexity.

To perform the analysis, I duplicated and renamed the two files, replacing the original extension with “ZIP”, and then decompressed them to create two folders containing all the files of the respective XML schemas.

The LibreOffice folder contained three subfolders and six files with the same names as those in the ODS file examined last week, as would be expected of a standard aiming to simplify life for developers and users. All the content is actually in the content.xml file, while the other files contain instructions for displaying the text document correctly.

The Microsoft 365 folder contains three subfolders and the [Content_Types].xml file, as with the XLSX file examined last week. One of the subfolders has a different name, but this is related 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 in the document.xml file inside the Word folder, which contains folders and files that differ completely from those in the XLSX file. Again, there is no technical reason for this difference in the XML schemas of the two files other than to make their internal structures different and more complex.

Let’s now analyse William Shakespeare’s Hamlet and then Oscar Wilde’s The Importance of Being Earnest.

Here is the PDF of Hamlet:

hamlet

 

The difference in complexity between the document.xml and content.xml files is striking when you compare their lengths: the content.xml file has 6,802 lines, while the document.xml file has 60,245 lines, compared to a text document of 5,566 lines.

Let us now compare the two files’ XML schemas from the beginning to the end of the introduction.

CONTENT.XML

<office:body>
<office:text text:use-soft-page-breaks=”true”>
<office:forms form:automatic-focus=”false” form:apply-design-mode=”false”/>
<text:sequence-decls>
<text:sequence-decl text:display-outline-level=”0″ text:name=”Illustration”/>
<text:sequence-decl text:display-outline-level=”0″ text:name=”Table”/>
<text:sequence-decl text:display-outline-level=”0″ text:name=”Text”/>
<text:sequence-decl text:display-outline-level=”0″ text:name=”Drawing”/>
<text:sequence-decl text:display-outline-level=”0″ text:name=”Figure”/>
</text:sequence-decls>
<text:p text:style-name=”P1″>THE TRAGEDY OF HAMLET, PRINCE OF DENMARK</text:p>
<text:p text:style-name=”P1″/>
<text:p text:style-name=”P1″>by William Shakespeare</text:p>
<text:p text:style-name=”P1″/>
<text:p text:style-name=”P1″/>
<text:p text:style-name=”P1″/>
<text:p text:style-name=”P1″/>
<text:p text:style-name=”P1″>Contents</text:p>
<text:p text:style-name=”P1″/>
<text:p text:style-name=”P1″><text:s/>ACT I</text:p>
<text:p text:style-name=”P1″><text:s/>Scene I. Elsinore. A platform before the Castle</text:p>
<text:p text:style-name=”P1″><text:s/>Scene II. Elsinore. A room of state in the Castle</text:p>
<text:p text:style-name=”P1″><text:s/>Scene III. A room in Polonius’s house</text:p>
<text:p text:style-name=”P1″><text:s/>Scene IV. The platform</text:p>
<text:p text:style-name=”P1″><text:s/>Scene V. A more remote part of the Castle</text:p>
<text:p text:style-name=”P1″/>
<text:p text:style-name=”P1″><text:s/>ACT II</text:p>
<text:p text:style-name=”P1″><text:s/>Scene I. A room in Polonius’s house</text:p>
<text:p text:style-name=”P1″><text:s/>Scene II. A room in the Castle</text:p>
<text:p text:style-name=”P1″/>
<text:p text:style-name=”P1″><text:s/>ACT III</text:p>
<text:p text:style-name=”P1″><text:s/>Scene I. A room in the Castle</text:p>
<text:p text:style-name=”P1″><text:s/>Scene II. A hall in the Castle</text:p>
<text:p text:style-name=”P1″><text:s/>Scene III. A room in the Castle</text:p>
<text:p text:style-name=”P1″><text:s/>Scene IV. Another room in the Castle</text:p>
<text:p text:style-name=”P1″/>
<text:p text:style-name=”P1″><text:s/>ACT IV</text:p>
<text:p text:style-name=”P1″><text:s/>Scene I. A room in the Castle</text:p>
<text:p text:style-name=”P1″><text:s/>Scene II. Another room in the Castle</text:p>
<text:p text:style-name=”P1″><text:s/>Scene III. Another room in the Castle</text:p>
<text:p text:style-name=”P1″><text:s/>Scene IV. A plain in Denmark</text:p>
<text:p text:style-name=”P1″><text:s/>Scene V. Elsinore. A room in the Castle</text:p>
<text:p text:style-name=”P1″><text:soft-page-break/><text:s/>Scene VI. Another room in the Castle</text:p>
<text:p text:style-name=”P1″><text:s/>Scene VII. Another room in the Castle</text:p>
<text:p text:style-name=”P1″/>
<text:p text:style-name=”P1″><text:s/>ACT V</text:p>
<text:p text:style-name=”P1″><text:s/>Scene I. A churchyard</text:p>
<text:p text:style-name=”P1″><text:s/>Scene II. A hall in the Castle</text:p>
<text:p text:style-name=”P1″/>
<text:p text:style-name=”P1″/>
<text:p text:style-name=”P1″/>
<text:p text:style-name=”P1″/>
<text:p text:style-name=”P1″>Dramatis Personæ</text:p>
<text:p text:style-name=”P1″/>
<text:p text:style-name=”P1″>HAMLET, Prince of Denmark</text:p>
<text:p text:style-name=”P1″>CLAUDIUS, King of Denmark, Hamlet’s uncle</text:p>
<text:p text:style-name=”P1″>The GHOST of the late king, Hamlet’s father</text:p>
<text:p text:style-name=”P1″>GERTRUDE, the Queen, Hamlet’s mother, now wife of Claudius</text:p>
<text:p text:style-name=”P1″>POLONIUS, Lord Chamberlain</text:p>
<text:p text:style-name=”P1″>LAERTES, Son to Polonius</text:p>
<text:p text:style-name=”P1″>OPHELIA, Daughter to Polonius</text:p>
<text:p text:style-name=”P1″>HORATIO, Friend to Hamlet</text:p>
<text:p text:style-name=”P1″>FORTINBRAS, Prince of Norway</text:p>
<text:p text:style-name=”P1″>VOLTEMAND, Courtier</text:p>
<text:p text:style-name=”P1″>CORNELIUS, Courtier</text:p>
<text:p text:style-name=”P1″>ROSENCRANTZ, Courtier</text:p>
<text:p text:style-name=”P1″>GUILDENSTERN, Courtier</text:p>
<text:p text:style-name=”P1″>MARCELLUS, Officer</text:p>
<text:p text:style-name=”P1″>BARNARDO, Officer</text:p>
<text:p text:style-name=”P1″>FRANCISCO, a Soldier</text:p>
<text:p text:style-name=”P1″>OSRIC, Courtier</text:p>
<text:p text:style-name=”P1″>REYNALDO, Servant to Polonius</text:p>
<text:p text:style-name=”P1″>Players</text:p>
<text:p text:style-name=”P1″>A Gentleman, Courtier</text:p>
<text:p text:style-name=”P1″>A Priest</text:p>
<text:p text:style-name=”P1″><text:soft-page-break/>Two Clowns, Grave-diggers</text:p>
<text:p text:style-name=”P1″>A Captain</text:p>
<text:p text:style-name=”P1″>English Ambassadors.</text:p>
<text:p text:style-name=”P1″>Lords, Ladies, Officers, Soldiers, Sailors, Messengers, and Attendants</text:p>

It is a reasonably complex XML file. After the initial instructions on the sequence of content, the text of the tragedy can easily be located alongside the sequence of the five acts and the descriptions of the dramatis personae.

DOCUMENT.XML

<w:body>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” wp14:paraId=”73C9069B” wp14:textId=”09294AE1″>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t>THE TRAGEDY OF HAMLET, PRINCE OF DENMARK</w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”3AA342A9″ wp14:textId=”00E76CB9″>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t xml:space=”preserve”> </w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”1B479704″ wp14:textId=”129900F6″>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t>by William Shakespeare</w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”6C6F02DD” wp14:textId=”1D8A204F”>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t xml:space=”preserve”> </w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”1F7D25FF” wp14:textId=”4619853B”>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t xml:space=”preserve”> </w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”50471715″ wp14:textId=”708F3004″>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t xml:space=”preserve”> </w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”7E2BE7BA” wp14:textId=”48A7F848″>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t xml:space=”preserve”> </w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”5B16A927″ wp14:textId=”10A9E3F9″>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t>Contents</w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”429A556E” wp14:textId=”6416D4DB”>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t xml:space=”preserve”> </w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”1C38A773″ wp14:textId=”4F3F8ED2″>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t>ACT I</w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”59328897″ wp14:textId=”21C9F129″>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t>Scene I. Elsinore. A platform before the Castle</w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”30C9E582″ wp14:textId=”0A7616FF”>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t>Scene II. Elsinore. A room of state in the Castle</w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”5EAB6C01″ wp14:textId=”70B75214″>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t>Scene III. A room in Polonius’s house</w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”232393A3″ wp14:textId=”069440B2″>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t>Scene IV. The platform</w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”65E1A75F” wp14:textId=”1E769B73″>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t>Scene V. A more remote part of the Castle</w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”6C6D2F5C” wp14:textId=”13700863″>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t xml:space=”preserve”> </w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”339DBFF3″ wp14:textId=”4AF718C4″>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t>ACT II</w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”774AAE76″ wp14:textId=”3F8EE2B8″>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t>Scene I. A room in Polonius’s house</w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”526BCABF” wp14:textId=”441F6801″>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t>Scene II. A room in the Castle</w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”6A1841AB” wp14:textId=”1FBE8D34″>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t xml:space=”preserve”> </w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”577B4504″ wp14:textId=”1BF167DB”>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t>ACT III</w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”2724CC9A” wp14:textId=”293764E9″>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t>Scene I. A room in the Castle</w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”04FF9ABE” wp14:textId=”30F918C2″>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t>Scene II. A hall in the Castle</w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”338872C6″ wp14:textId=”1F0AFFE6″>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t>Scene III. A room in the Castle</w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”46D240C2″ wp14:textId=”3D28AE8B”>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t>Scene IV. Another room in the Castle</w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”64F40DC7″ wp14:textId=”16C2A388″>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t xml:space=”preserve”> </w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”4B538D6F” wp14:textId=”7CB11368″>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t>ACT IV</w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”2508ABE7″ wp14:textId=”4925909D”>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t>Scene I. A room in the Castle</w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”5ABD1B8F” wp14:textId=”68A02D9E”>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t>Scene II. Another room in the Castle</w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”57D2E145″ wp14:textId=”08927478″>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t>Scene III. Another room in the Castle</w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”2BA12E96″ wp14:textId=”1E35C8BC”>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t>Scene IV. A plain in Denmark</w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”4DF8BEC9″ wp14:textId=”67676CF3″>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t>Scene V. Elsinore. A room in the Castle</w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”17EE90DC” wp14:textId=”708C9696″>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t>Scene VI. Another room in the Castle</w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”3302F704″ wp14:textId=”2ADB2A66″>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t>Scene VII. Another room in the Castle</w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”0F7C9E68″ wp14:textId=”5D706618″>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t xml:space=”preserve”> </w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”1091F950″ wp14:textId=”2EE5201C”>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t>ACT V</w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”6E162B67″ wp14:textId=”10199C37″>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t>Scene I. A churchyard</w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”1A2FA647″ wp14:textId=”683EF1FA”>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t>Scene II. A hall in the Castle</w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”62A90ACE” wp14:textId=”156F1611″>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t xml:space=”preserve”> </w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”557F5426″ wp14:textId=”05194972″>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t xml:space=”preserve”> </w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”011BF8B2″ wp14:textId=”175BE494″>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t xml:space=”preserve”> </w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”4BB65B79″ wp14:textId=”7256A412″>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t xml:space=”preserve”> </w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”1EEEFC18″ wp14:textId=”2D4F2D20″>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t>Dramatis Personæ</w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”69D361D6″ wp14:textId=”0A66ADE7″>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t xml:space=”preserve”> </w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”7198BA63″ wp14:textId=”0ECB601B”>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t>HAMLET, Prince of Denmark</w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”7A30698D” wp14:textId=”2A3EE787″>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t>CLAUDIUS, King of Denmark, Hamlet’s uncle</w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”7D437DFF” wp14:textId=”0C3AFC43″>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t>The GHOST of the late king, Hamlet’s father</w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”663C7E0E” wp14:textId=”4F1E93F2″>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t>GERTRUDE, the Queen, Hamlet’s mother, now wife of Claudius</w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”1EE14B03″ wp14:textId=”567F43B4″>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t>POLONIUS, Lord Chamberlain</w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”7A4F8A78″ wp14:textId=”39759F7E”>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t>LAERTES, Son to Polonius</w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”11E371D7″ wp14:textId=”36CD515A”>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t>OPHELIA, Daughter to Polonius</w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”2D438C1E” wp14:textId=”7211E8E5″>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t>HORATIO, Friend to Hamlet</w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”4E6B50D6″ wp14:textId=”559117D7″>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t>FORTINBRAS, Prince of Norway</w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”1B5B4955″ wp14:textId=”599A64FC”>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t>VOLTEMAND, Courtier</w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”32BA9096″ wp14:textId=”6E8C2728″>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t>CORNELIUS, Courtier</w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”60FD9B45″ wp14:textId=”2F2E3956″>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t>ROSENCRANTZ, Courtier</w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”0CC7985B” wp14:textId=”56DED383″>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t>GUILDENSTERN, Courtier</w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”775EA68F” wp14:textId=”089F9982″>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t>MARCELLUS, Officer</w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”4E2AEAC2″ wp14:textId=”34855F77″>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t>BARNARDO, Officer</w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”6DB5A437″ wp14:textId=”146C2E48″>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t>FRANCISCO, a Soldier</w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”389BDBAC” wp14:textId=”0B30EC2E”>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t>OSRIC, Courtier</w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”12730B2E” wp14:textId=”60DC1BFE”>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t>REYNALDO, Servant to Polonius</w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”7FA85C5A” wp14:textId=”3D66976B”>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t>Players</w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”2F38E070″ wp14:textId=”309A60BF”>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t>A Gentleman, Courtier</w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”53493710″ wp14:textId=”48B3D2A5″>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t>A Priest</w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”611C5F94″ wp14:textId=”22FB27D4″>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t>Two Clowns, Grave-diggers</w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”577DC4BA” wp14:textId=”2FD3CAA0″>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t>A Captain</w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”0BAF6209″ wp14:textId=”35658011″>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t>English Ambassadors.</w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”260F5D8D” wp14:textId=”0FC10ABC”>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t>Lords, Ladies, Officers, Soldiers, Sailors, Messengers, and Attendants</w:t>
</w:r>
</w:p>

This XML file contains a lot of repetition. Is it really necessary to include the same information about the schema and style for every line of content, including empty ones? I doubt it personally, but since I am not a technician, I am willing to listen to reasons from those who argue that this content is essential and not artificial complexity.

Let’s see if the same thing happens with Oscar Wilde’s ‘The Importance of Being Earnest’. Here is the PDF:

earnest

 

In this case, the artificial complexity of the Word document is less apparent, as the content.xml file has 3,974 lines compared to a text document of 3,885 lines, and the document.xml file has 8,610 lines. Therefore, we have gone from a file that is almost ten times longer in terms of the number of lines to a file that is just over twice as long. This difference can be explained by comparing the first lines of the two files’ XML schemas (only those with content).

CONTENT.XML

<text:p text:style-name=”P1″>The Importance of Being Earnest</text:p>
<text:p text:style-name=”P1″>A Trivial Comedy for Serious People</text:p>
<text:p text:style-name=”P1″>THE PERSONS IN THE PLAY</text:p>
<text:p text:style-name=”P1″>John Worthing, J.P.</text:p>
<text:p text:style-name=”P1″>Algernon Moncrieff</text:p>
<text:p text:style-name=”P1″>Rev. Canon Chasuble, D.D.</text:p>
<text:p text:style-name=”P1″>Merriman, Butler</text:p>
<text:p text:style-name=”P1″>Lane, Manservant</text:p>
<text:p text:style-name=”P1″>Lady Bracknell</text:p>
<text:p text:style-name=”P1″>Hon. Gwendolen Fairfax</text:p>
<text:p text:style-name=”P1″>Cecily Cardew</text:p>
<text:p text:style-name=”P1″>Miss Prism, Governess</text:p>
<text:p text:style-name=”P1″>THE SCENES OF THE PLAY</text:p>
<text:p text:style-name=”P1″>ACT I. Algernon Moncrieff’s Flat in Half-Moon Street, W.</text:p>
<text:p text:style-name=”P1″>ACT II. The Garden at the Manor House, Woolton.</text:p>
<text:p text:style-name=”P1″>ACT III. Drawing-Room at the Manor House, Woolton.</text:p>
<text:p text:style-name=”P1″>TIME: The Present.</text:p>
<text:p text:style-name=”P1″>LONDON: ST. JAMES’S THEATRE</text:p>
<text:p text:style-name=”P1″>Lessee and Manager: Mr. George Alexander</text:p>
<text:p text:style-name=”P1″>February 14th, 1895</text:p>
<text:p text:style-name=”P1″>John Worthing, J.P.: Mr. George Alexander.</text:p>
<text:p text:style-name=”P1″>Algernon Moncrieff: Mr. Allen Aynesworth.</text:p>
<text:p text:style-name=”P1″>Rev. Canon Chasuble, D.D.: Mr. H. H. Vincent.</text:p>
<text:p text:style-name=”P1″>Merriman: Mr. Frank Dyall.</text:p>
<text:p text:style-name=”P1″>Lane: Mr. F. Kinsey Peile.</text:p>
<text:p text:style-name=”P1″>Lady Bracknell: Miss Rose Leclercq.</text:p>
<text:p text:style-name=”P1″>Hon. Gwendolen Fairfax: Miss Irene Vanbrugh.</text:p>
<text:p text:style-name=”P1″>Cecily Cardew: Miss Evelyn Millard.</text:p>
<text:p text:style-name=”P1″>Miss Prism: Mrs. George Canninge.</text:p>
<text:p text:style-name=”P1″>FIRST ACT</text:p>
<text:p text:style-name=”P1″>SCENE</text:p>
<text:p text:style-name=”P1″>Morning-room in Algernon’s flat in Half-Moon Street. The room is</text:p>
<text:p text:style-name=”P1″>luxuriously and artistically furnished. The sound of a piano is heard</text:p>
<text:p text:style-name=”P1″>in the adjoining room.</text:p>
<text:p text:style-name=”P1″>[Lane is arranging afternoon tea on the table, and after the music has</text:p>
<text:p text:style-name=”P1″>ceased, Algernon enters.]</text:p>
<text:p text:style-name=”P1″>ALGERNON.</text:p>
<text:p text:style-name=”P1″>Did you hear what I was playing, Lane?</text:p>
<text:p text:style-name=”P1″>LANE.</text:p>
<text:p text:style-name=”P1″>I didn’t think it polite to listen, sir.</text:p>
<text:p text:style-name=”P1″><text:soft-page-break/>ALGERNON.</text:p>
<text:p text:style-name=”P1″>I’m sorry for that, for your sake. I don’t play accurately—any one can</text:p>
<text:p text:style-name=”P1″>play accurately—but I play with wonderful expression. As far as the</text:p>
<text:p text:style-name=”P1″>piano is concerned, sentiment is my forte. I keep science for Life.</text:p>
<text:p text:style-name=”P1″>LANE.</text:p>
<text:p text:style-name=”P1″>Yes, sir.</text:p>
<text:p text:style-name=”P1″>ALGERNON.</text:p>
<text:p text:style-name=”P1″>And, speaking of the science of Life, have you got the cucumber</text:p>
<text:p text:style-name=”P1″>sandwiches cut for Lady Bracknell?</text:p>
<text:p text:style-name=”P1″>LANE.</text:p>
<text:p text:style-name=”P1″>Yes, sir. [Hands them on a salver.]</text:p>
<text:p text:style-name=”P1″>ALGERNON.</text:p>
<text:p text:style-name=”P1″>[Inspects them, takes two, and sits down on the sofa.] Oh! . . . by the</text:p>
<text:p text:style-name=”P1″>way, Lane, I see from your book that on Thursday night, when Lord</text:p>
<text:p text:style-name=”P1″>Shoreman and Mr. Worthing were dining with me, eight bottles of</text:p>
<text:p text:style-name=”P1″>champagne are entered as having been consumed.</text:p>
<text:p text:style-name=”P1″>LANE.</text:p>
<text:p text:style-name=”P1″>Yes, sir; eight bottles and a pint.</text:p>
<text:p text:style-name=”P1″>ALGERNON.</text:p>
<text:p text:style-name=”P1″>Why is it that at a bachelor’s establishment the servants invariably</text:p>
<text:p text:style-name=”P1″>drink the champagne? I ask merely for information.</text:p>
<text:p text:style-name=”P1″>LANE.</text:p>
<text:p text:style-name=”P1″>I attribute it to the superior quality of the wine, sir. I have often</text:p>
<text:p text:style-name=”P1″>observed that in married households the champagne is rarely of a</text:p>
<text:p text:style-name=”P1″>first-rate brand.</text:p>
<text:p text:style-name=”P1″><text:soft-page-break/>ALGERNON.</text:p>
<text:p text:style-name=”P1″>Good heavens! Is marriage so demoralising as that?</text:p>

DOCUMENT.XML

<w:t>The Importance of Being Earnest</w:t>
<w:t>A Trivial Comedy for Serious People</w:t>
<w:t>THE PERSONS IN THE PLAY</w:t>
<w:t>John Worthing, J.P. Algernon Moncrieff Rev. Canon Chasuble, D.D. Merriman, Butler Lane, Manservant Lady Bracknell Hon. Gwendolen Fairfax Cecily Cardew Miss Prism, Governess</w:t>
<w:t>THE SCENES OF THE PLAY</w:t>
<w:t>ACT I. Algernon Moncrieff’s Flat in Half-Moon Street, W.</w:t>
<w:t>ACT II. The Garden at the Manor House, Woolton.</w:t>
<w:t>ACT III. Drawing-Room at the Manor House, Woolton.</w:t>
<w:t>TIME: The Present.</w:t>
<w:t>LONDON: ST. JAMES’S THEATRE</w:t>
<w:t>Lessee and Manager: Mr. George Alexander</w:t>
<w:t>February 14th, 1895</w:t>
<w:t>John Worthing, J.P.: Mr. George Alexander. Algernon Moncrieff: Mr. Allen Aynesworth. Rev. Canon Chasuble, D.D.: Mr. H. H. Vincent. Merriman: Mr. Frank Dyall. Lane: Mr. F. Kinsey Peile. Lady Bracknell: Miss Rose Leclercq. Hon. Gwendolen Fairfax: Miss Irene Vanbrugh. Cecily Cardew: Miss Evelyn Millard. Miss Prism: Mrs. George Canninge.</w:t>
<w:t>FIRST ACT</w:t>
<w:t>SCENE</w:t>
<w:t>Morning-room in Algernon’s flat in Half-Moon Street. The room is luxuriously and artistically furnished. The sound of a piano is heard in the adjoining room.</w:t>
<w:t>[Lane is arranging afternoon tea on the table, and after the music has ceased, Algernon enters.]</w:t>
<w:t>ALGERNON. Did you hear what I was playing, Lane?</w:t>
<w:t>LANE. I didn’t think it polite to listen, sir.</w:t>
<w:t>ALGERNON. I’m sorry for that, for your sake. I don’t play accurately—any one can play accurately—but I play with wonderful expression. As far as the piano is concerned, sentiment is my forte. I keep science for Life.</w:t>
<w:t>LANE. Yes, sir.</w:t>
<w:t>ALGERNON. And, speaking of the science of Life, have you got the cucumber sandwiches cut for Lady Bracknell?</w:t>
<w:t>LANE. Yes, sir. [Hands them on a salver.]</w:t>
<w:t>ALGERNON. [Inspects them, takes two, and sits down on the sofa.] Oh! . . . by the way, Lane, I see from your book that on Thursday night, when Lord Shoreman and Mr. Worthing were dining with me, eight bottles of champagne are entered as having been consumed.</w:t>
<w:t>LANE. Yes, sir; eight bottles and a pint.</w:t>
<w:t>ALGERNON. Why is it that at a bachelor’s establishment the servants invariably drink the champagne? I ask merely for information.</w:t>
<w:t>LANE. I attribute it to the superior quality of the wine, sir. I have often observed that in married households the champagne is rarely of a first-rate brand.</w:t>
<w:t>ALGERNON. Good heavens! Is marriage so demoralising as that?</w:t>

While the content.xml file retains all the line breaks (hard returns) of the text document, the document.xml file “reinterprets” the text, reconstructing all the paragraphs even when this makes no sense, as with lists of characters and the actors who play them. It also adds punctuation that does not exist in the text file, such as commas to replace hard returns. This is why the file is shorter than the “Hamlet” file, but it introduces an arbitrary “simplification” that does not respect the original document.

Until today, I was convinced that the XML schema of OOXML files was unnecessarily complex for the reasons I have explained at length on several occasions. However, it is not only unnecessarily complex, but also unnecessarily “creative” (always complicating the lives of developers and users).

Conclusions

Unfortunately, the reality is what I have explained several times, without going into technical detail. This has been confirmed by more technical analyses of XLSX and DOCX files, and I believe it will also be confirmed by next week’s PPTX file analysis. Microsoft has created an unnecessarily complex and incomprehensibly creative file format, which complicates the lives of developers and users more than I thought.

Indeed, while it is challenging to manage artificial complexity, it is arguably impossible to manage “creativity” that reinterprets the contents of a document by inventing paragraphs where it might make sense — albeit with a faithful format — and where it makes no sense, as with lists.

Perhaps, in my personal opinion, “creativity” was introduced to make it difficult for companies based in countries where reverse engineering is not illegal to emulate the OOXML format, as I don’t believe “creative” reverse engineering is possible, even with the help of AI.

Users should protect their rights by choosing an open standard format, such as ODF, which gives them control over their content and everything that this entails, including privacy protection, proper management of sensitive data and the ability to decide what to share and with whom.

This is a format whose development process, characteristics, and version are known; whose description corresponds to what happens on the user’s PC; and which faithfully reproduces the contents of the displayed document. It is a format that enables even less experienced users to identify and, in many cases, solve problems.

In short, it is the only open and standard document format that we would all like to have, but which only a minority use due to a lack of knowledge about the reality of the OOXML format, and the messianic trust that too many users place in Microsoft. This leads them to believe that there cannot be a commercial strategy behind a document format that is hostile to users’ interests.