Неофициальный русский перевод. Первоисточник: Microsoft Learn.
Структура документа PresentationML состоит из элемента <presentation/> (Презентация), который содержит элементы <sldMaster/> (Образец слайдов), <sldLayout/> (Макет слайда), <sld/> (Слайд) и <theme/> (Тема), ссылающиеся на слайды презентации. (Элемент Theme является корневым элементом части пакета DrawingMLTheme.) Эти элементы являются минимальным набором элементов, необходимым для допустимого документа презентации.
Кроме того, документ презентации может содержать элементы <notes/> (Слайд заметок), <handoutMaster/> (Образец раздаточных материалов), <sp/> (Фигура), <pic/> (Рисунок), <tbl/> (Таблица) и другие элементы, относящиеся к слайдам. (Элементы таблиц определены в схеме DrawingML.)
Другие возможности, которые может содержать документ PresentationML, включают анимацию, звук, видео и переходы между слайдами.
Документ PresentationML не хранится как одно большое тело в единственной части пакета. Вместо этого элементы, реализующие определённые группы функциональности, хранятся в отдельных частях пакета. Например, все комментарии документа хранятся в одной части комментариев, тогда как каждый слайд имеет собственную часть пакета. Для каждого слайда создаётся отдельный XML-файл.
С помощью Open XML SDK можно создавать структуру и содержимое документа, использующие строго типизированные классы, соответствующие элементам PresentationML. Эти классы находятся в пространстве имён DocumentFormat.OpenXml.Presentation. В следующей таблице перечислены имена классов, соответствующих некоторым важным элементам презентации.
| Часть пакета | Элемент PresentationML верхнего уровня | Класс Open XML SDK | Описание* |
|---|---|---|---|
| Презентация | <presentation/> |
Presentation | Корневой элемент части пакета Presentation. В этом элементе задаются основные свойства всей презентации. |
| Свойства презентации | <presentationPr/> |
PresentationProperties | Корневой элемент части пакета Presentation Properties. Этот элемент служит родительским элементом, содержащим дополнительные свойства документа для всей презентации. |
| Образец слайдов | <sldMaster/> |
SlideMaster | Корневой элемент части пакета Slide Master. Образец слайдов содержит все элементы, описывающие объекты и соответствующее им форматирование на слайде презентации. Дополнительные сведения см. в разделе Работа с образцами слайдов. |
| Макет слайда | <sldLayout/> |
SlideLayout | Корневой элемент части пакета Slide Layout. Этот элемент задаёт сведения о связях для каждого макета слайда, используемого в образце слайдов. Дополнительные сведения см. в разделе Работа с макетами слайдов. |
| Тема | <officeStyleSheet/> |
Theme | Корневой элемент части пакета Theme. Этот элемент содержит все различные параметры форматирования, доступные документу посредством темы, и определяет общий вид и восприятие документа, когда в нём используются объекты с темой. |
| Слайд | <sld/> |
Slide | Корневой элемент части пакета Slide. Этот элемент задаёт слайд в списке слайдов. Дополнительные сведения см. в разделе Работа со слайдами презентации. |
| Образец заметок | <notesMaster/> |
NotesMaster | Корневой элемент части пакета Notes Master. Образец заметок содержит все элементы, описывающие объекты и соответствующее им форматирование на слайде заметок. |
| Слайд заметок | <notes/> |
NotesSlide | Корневой элемент части пакета Notes Slide. Этот элемент задаёт наличие слайда заметок вместе с соответствующими данными. Слайд заметок содержит все общие элементы слайда, а также дополнительные свойства, относящиеся к элементу заметок. Дополнительные сведения см. в разделе Работа со слайдами заметок. |
| Образец раздаточных материалов | <handoutMaster/> |
HandoutMaster | Корневой элемент части пакета Handout Master. Образец раздаточных материалов содержит все элементы, описывающие объекты и соответствующее им форматирование на слайде раздаточного материала. Дополнительные сведения см. в разделе Работа со слайдами образца раздаточных материалов. |
| Комментарии | <cmLst/> |
CommentList | Корневой элемент части пакета Comments. Этот элемент задаёт список комментариев для определённого слайда. Дополнительные сведения см. в разделе Работа с комментариями. |
| Автор комментариев | <cmAuthorLst/> |
CommentAuthorList | Корневой элемент части пакета Comments Author. Этот элемент задаёт список авторов, имеющих комментарии в текущем документе. Дополнительные сведения см. в разделе Работа с комментариями. |
*Описания адаптированы из спецификации ISO/IEC 29500, © ISO/IEC 29500: 2016
Главная часть пакета PresentationML начинается с корневого элемента <presentation/>. Этот элемент содержит презентацию, которая, в свою очередь, ссылается на список слайдов, список образцов слайдов, список образцов заметок и список образцов раздаточных материалов. Список слайдов ссылается на все слайды презентации. Список образцов слайдов ссылается на полный набор образцов слайдов, используемых в презентации. Образец заметок содержит информацию о форматировании страниц заметок. Образец раздаточных материалов описывает вид раздаточного материала. (Раздаточный материал — это напечатанный набор слайдов, который можно раздать аудитории для последующего использования.)
Корневым элементом части пакета Presentation Properties является элемент <presentationPr/>.
Спецификация ISO/IEC 29500 описывает часть пакета Open XML PresentationML Presentation Properties следующим образом:
Экземпляр этого типа части пакета содержит все свойства презентации.
Пакет ДОЛЖЕН (shall) содержать ровно одну часть пакета Presentation Properties, и эта часть ДОЛЖНА (shall) быть целью неявной связи из части пакета Presentation (§13.3.6).
Пример: следующий элемент связи части пакета Presentation содержит связь с частью пакета Presentation Properties, которая хранится в ZIP-элементе presProps.xml:
<Relationships xmlns="…">
<Relationship Id="rId6"
Type="https://…/presProps" Target="presProps.xml"/>
</Relationships>
Корневым элементом части пакета с этим типом содержимого ДОЛЖЕН (shall) быть presentationPr. Пример:
<p:presentationPr xmlns:p="…" …>
<p:clrMru>
…
</p:clrMru>
…
</p:presentationPr>
Часть пакета Presentation Properties ДОЛЖНА (shall) находиться в пакете, содержащем часть связей (синтаксически это выражается тем, что атрибут TargetMode элемента Relationship ДОЛЖЕН (shall) иметь значение Internal).
Часть пакета Presentation Properties НЕ ДОЛЖНА (shall not) иметь неявных или явных связей с какой-либо другой частью пакета, определённой ISO/IEC 29500.
© ISO/IEC 29500: 2016
Корневым элементом части пакета Slide Master является элемент <sldMaster/>.
Спецификация ISO/IEC 29500 описывает часть пакета Open XML PresentationML Slide Master следующим образом:
Экземпляр этого типа части пакета содержит основное определение форматирования, текста и объектов, отображаемых на каждом слайде презентации, производном от этого образца слайдов.
Пакет ДОЛЖЕН (shall) содержать одну или несколько частей пакета Slide Master, каждая из которых ДОЛЖНА (shall) быть целью явной связи из части пакета Presentation (§13.3.6), а также неявной связи из любой части пакета Slide Layout (§13.3.9), в которой этот макет слайда определён на основе данного образца слайдов. Каждая из них также может быть целью связи в части пакета Slide Layout (§13.3.9).
Пример: следующий элемент связи части пакета Presentation содержит связь с частью пакета Slide Master, которая хранится в ZIP-элементе slideMasters/slideMaster1.xml:
<Relationships xmlns="…">
<Relationship Id="rId1"
Type="https://…/slideMaster"
Target="slideMasters/slideMaster1.xml"/>
</Relationships>
Корневым элементом части пакета с этим типом содержимого ДОЛЖЕН (shall) быть sldMaster. Пример:
<p:sldMaster xmlns:p="…">
<p:cSld name="">
…
</p:cSld>
<p:clrMap … />
</p:sldMaster>
Часть пакета Slide Master ДОЛЖНА (shall) находиться в пакете, содержащем часть связей (синтаксически это выражается тем, что атрибут TargetMode элемента Relationship ДОЛЖЕН (shall) иметь значение Internal).
Части пакета Slide Master разрешается иметь неявные связи со следующими частями пакета, определёнными ISO/IEC 29500:
Части пакета Slide Master разрешается иметь явные связи со следующими частями пакета, определёнными ISO/IEC 29500:
Часть пакета Slide Master НЕ ДОЛЖНА (shall not) иметь неявных или явных связей с какой-либо другой частью пакета, определённой ISO/IEC 29500.
© ISO/IEC 29500: 2016
Корневым элементом части пакета Slide Layout является элемент <sldLayout/>.
Спецификация ISO/IEC 29500 описывает часть пакета Open XML PresentationML Slide Layout следующим образом:
Экземпляр этого типа части содержит определение шаблона макета слайда для данной презентации. Этот шаблон определяет внешний вид по умолчанию и размещение графических объектов на слайде этого типа при его создании.
Пакет ДОЛЖЕН (shall) содержать одну или несколько частей макета слайда, и каждая из этих частей ДОЛЖНА (shall) быть целью явной связи в части образца слайдов (§13.3.10), а также неявной связи из каждой из частей слайдов (§13.3.8), связанных с этим макетом слайда.
Пример: следующий элемент связей части образца слайдов содержит связи с несколькими частями макета слайда, которые хранятся в элементах ZIP ../slideLayouts/slideLayoutN.xml:
<Relationships xmlns="…">
<Relationship Id="rId1"
Type="https://…/slideLayout"
Target="../slideLayouts/slideLayout1.xml"/>
<Relationship Id="rId2"
Type="https://…/slideLayout"
Target="../slideLayouts/slideLayout2.xml"/>
<Relationship Id="rId3"
Type="https://…/slideLayout"
Target="../slideLayouts/slideLayout3.xml"/>
</Relationships>
Корневым элементом части этого типа содержимого ДОЛЖЕН (shall) быть sldLayout. Пример:
<p:sldLayout xmlns:p="…" matchingName="" type="title" preserve="1">
<p:cSld name="Title Slide">
…
</p:cSld>
<p:clrMapOvr>
<a:masterClrMapping/>
</p:clrMapOvr>
<p:timing/>
</p:sldLayout>
Части макета слайда РАЗРЕШАЕТСЯ (is permitted to) иметь неявные связи со следующими частями, определёнными ISO/IEC 29500:
Части макета слайда РАЗРЕШАЕТСЯ (is permitted to) иметь явные связи со следующими частями, определёнными ISO/IEC 29500:
Часть макета слайда НЕ ДОЛЖНА (shall not) иметь неявных или явных связей с какими-либо другими частями, определёнными ISO/IEC 29500.
© ISO/IEC 29500: 2016
Корневым элементом части слайда является элемент <sld/>.
Помимо текста и графики, каждый слайд может содержать комментарии и заметки, может иметь макет и может быть частью одной или нескольких пользовательских презентаций. Комментарий — это аннотация, предназначенная для лица, сопровождающего набор слайдов презентации. Заметка — это напоминание или фрагмент текста, предназначенный для докладчика или аудитории.
Спецификация ISO/IEC 29500 описывает часть слайда Open XML PresentationML следующим образом:
Часть слайда содержит содержимое одного слайда.
Пакет ДОЛЖЕН (shall) содержать одну часть слайда для каждого слайда, и каждая из этих частей ДОЛЖНА (shall) быть целью явной связи из части презентации (§13.3.6).
Пример: рассмотрим документ PresentationML с двумя слайдами. Соответствующий элемент связей части презентации содержит две связи с частями слайдов, которые хранятся в элементах ZIP slides/slide1.xml and slides/slide2.xml:
<Relationships xmlns="…">
<Relationship Id="rId2"
Type="https://…/slide" Target="slides/slide1.xml"/>
<Relationship Id="rId3"
Type="https://…/slide" Target="slides/slide2.xml"/>
</Relationships>
Корневым элементом части этого типа содержимого ДОЛЖЕН (shall) быть <sld/>.
Пример: slides/slide1.xml содержит следующее:
<p:sld xmlns:p="…">
<p:cSld name="">
…
</p:cSld>
<p:clrMapOvr>
…
</p:clrMapOvr>
<p:timing>
<p:tnLst>
<p:par>
<p:cTn id="1" dur="indefinite" restart="never"
nodeType="tmRoot"/>
</p:par>
</p:tnLst>
</p:timing>
</p:sld>
Часть слайда ДОЛЖНА (shall) быть расположена в пакете, содержащем часть связей (синтаксически это выражается тем, что атрибут TargetMode элемента Relationship ДОЛЖЕН (shall) иметь значение Internal).
Части слайда РАЗРЕШАЕТСЯ (is permitted to) иметь неявные связи со следующими частями, определёнными ISO/IEC 29500:
Части слайда РАЗРЕШАЕТСЯ (is permitted to) иметь явные связи со следующими частями, определёнными ISO/IEC 29500:
Часть слайда НЕ ДОЛЖНА (shall not) иметь неявных или явных связей с какими-либо другими частями, определёнными ISO/IEC 29500.
© ISO/IEC 29500: 2016
Корневым элементом части темы является элемент <officeStyleSheet/>.
Спецификация ISO/IEC 29500 описывает часть темы Open XML DrawingML следующим образом:
Экземпляр этого типа части содержит сведения о теме документа, которая представляет собой сочетание цветовой схемы, схемы шрифтов и схемы форматирования (последняя также называется эффектами). Для документа WordprocessingML выбор темы влияет, среди прочего, на цвет и стиль заголовков. Для документа SpreadsheetML выбор темы влияет, среди прочего, на цвет и стиль содержимого ячеек и диаграмм. Для документа PresentationML выбор темы, помимо прочего, влияет через связанный образец на форматирование слайдов, раздаточных материалов и заметок.
Пакет WordprocessingML или SpreadsheetML ДОЛЖЕН (shall) содержать ноль или одну часть темы, которая ДОЛЖНА (shall) быть целью неявной связи в части основного документа (§11.3.10) или книги (§12.3.23). Пакет PresentationML ДОЛЖЕН (shall) содержать ноль или одну часть темы для каждой части образца раздаточных материалов (§13.3.3), образца заметок (§13.3.4), образца слайдов (§13.3.10) или презентации (§13.3.6) посредством неявной связи.
Пример: следующий элемент связей части основного документа WordprocessingML содержит связь с частью темы, которая хранится в элементе ZIP theme/theme1.xml:
<Relationships xmlns="…">
<Relationship Id="rId4"
Type="https://…/theme" Target="theme/theme1.xml"/>
</Relationships>
Корневым элементом части этого типа содержимого ДОЛЖЕН (shall) быть officeStyleSheet.
Пример: theme1.xml содержит следующее, где атрибуты name элементов clrScheme, fontScheme и fmtScheme соответствуют соответственно цветовой схеме, схеме шрифтов и схеме форматирования документа:
<a:officeStyleSheet xmlns:a="…">
<a:baseStyles>
<a:clrScheme name="…">
…
</a:clrScheme>
<a:fontScheme name="…">
…
</a:fontScheme>
<a:fmtScheme name="…">
…
</a:fmtScheme>
</a:baseStyles>
<a:objectDefaults/>
</a:officeStyleSheet>
Часть темы ДОЛЖНА (shall) быть расположена в пакете, содержащем часть связей (синтаксически это выражается тем, что атрибут TargetMode элемента Relationship ДОЛЖЕН (shall) иметь значение Internal).
Часть темы РАЗРЕШАЕТСЯ (is permitted to) содержать явные связи со следующими частями, определёнными ISO/IEC 29500:
Часть темы НЕ ДОЛЖНА (shall not) иметь каких-либо неявных или явных связей с другими частями, определёнными ISO/IEC 29500.
© ISO/IEC 29500: 2016
Корневым элементом части образца заметок является элемент <notesMaster/>.
Спецификация ISO/IEC 29500 описывает часть образца заметок Open XML PresentationML следующим образом:
Экземпляр этого типа части содержит сведения о содержимом и форматировании всех страниц заметок.
Пакет ДОЛЖЕН (shall) содержать не более одной части образца заметок, и эта часть ДОЛЖНА (shall) быть целью неявной связи из части слайда заметок (§13.3.5), а также явной связи из части презентации (§13.3.6).
Пример: следующий элемент связей части презентации содержит связь с частью образца заметок, которая хранится в элементе ZIP notesMasters/notesMaster1.xml:
<Relationships xmlns="…">
<Relationship Id="rId4"
Type="https://…/notesMaster"
Target="notesMasters/notesMaster1.xml"/>
</Relationships>
Корневым элементом части этого типа содержимого ДОЛЖЕН (shall) быть notesMaster. Пример:
<p:notesMaster xmlns:p="…">
<p:cSld name="">
…
</p:cSld\>
<p:clrMap … />
</p:notesMaster>
Часть образца заметок ДОЛЖНА (shall) быть расположена в пакете, содержащем часть связей (синтаксически это выражается тем, что атрибут TargetMode элемента Relationship ДОЛЖЕН (shall) иметь значение Internal).
Части образца заметок РАЗРЕШАЕТСЯ (is permitted to) иметь неявные связи со следующими частями, определёнными ISO/IEC 29500:
Части образца заметок РАЗРЕШАЕТСЯ (is permitted to) иметь явные связи со следующими частями, определёнными ISO/IEC 29500:
Часть образца заметок НЕ ДОЛЖНА (shall not) иметь неявных или явных связей с какими-либо другими частями, определёнными ISO/IEC 29500.
© ISO/IEC 29500: 2016
Корневым элементом части слайда заметок является элемент <notes/>.
Спецификация ISO/IEC 29500 описывает часть слайда заметок Open XML PresentationML следующим образом:
Экземпляр этого типа части содержит заметки для одного слайда.
Пакет ДОЛЖЕН (shall) содержать одну часть слайда заметок для каждого слайда, содержащего заметки. Если такие части существуют, каждая из них ДОЛЖНА (shall) быть целью неявной связи из части слайда (§13.3.8).
Пример: следующий элемент связей части слайда содержит связь с частью слайда заметок, которая хранится в элементе ZIP ../notesSlides/notesSlide1.xml:
<Relationships xmlns="…">
<Relationship Id="rId3"
Type="https://…/notesSlide"
Target="../notesSlides/notesSlide1.xml"/>
</Relationships>
Корневым элементом части этого типа содержимого ДОЛЖЕН (shall) быть notes. Пример:
<p:notes xmlns:p="…">
<p:cSld name="">
…
</p:cSld>
<p:clrMapOvr>
<a:masterClrMapping/>
</p:clrMapOvr>
</p:notes>
Часть слайда заметок ДОЛЖНА (shall) быть расположена в пакете, содержащем часть связей (синтаксически это выражается тем, что атрибут TargetMode элемента Relationship ДОЛЖЕН (shall) иметь значение Internal).
Части слайда заметок РАЗРЕШАЕТСЯ (is permitted to) иметь неявные связи со следующими частями, определёнными ISO/IEC 29500:
Части слайда заметок РАЗРЕШАЕТСЯ (is permitted to) иметь явные связи со следующими частями, определёнными ISO/IEC 29500:
Часть слайда заметок НЕ ДОЛЖНА (shall not) иметь неявных или явных связей с какими-либо другими частями, определёнными ISO/IEC 29500.
© ISO/IEC 29500: 2016
Корневым элементом части образца раздаточных материалов является элемент <handoutMaster/>.
Спецификация ISO/IEC 29500 описывает часть образца раздаточных материалов Open XML PresentationML следующим образом:
Экземпляр этого типа части содержит внешний вид, положение и размер слайдов, заметок, текста верхнего и нижнего колонтитулов, даты или номера страницы в раздаточных материалах презентации.
Пакет ДОЛЖЕН (shall) содержать не более одной части образца раздаточных материалов, и она ДОЛЖНА (shall) быть целью явной связи из части презентации (§13.3.6).
Пример: следующий элемент связей части презентации содержит связь с частью образца раздаточных материалов, которая хранится в элементе ZIP handoutMasters/handoutMaster1.xml:
<Relationships xmlns="…">
<Relationship Id="rId5"
Type="https://…/handoutMaster"
Target="handoutMasters/handoutMaster1.xml"/>
</Relationships>
Корневым элементом части этого типа содержимого ДОЛЖЕН (shall) быть handoutMaster. Пример:
<p:handoutMaster xmlns:p="…">
<p:cSld name="">
…
</p:cSld\>
<p:clrMap … >
</p:handoutMaster>
Часть образца раздаточных материалов ДОЛЖНА (shall) быть расположена в пакете, содержащем часть связей (синтаксически это выражается тем, что атрибут TargetMode элемента Relationship ДОЛЖЕН (shall) иметь значение Internal).
Части образца раздаточных материалов РАЗРЕШАЕТСЯ (is permitted to) иметь неявные связи со следующими частями, определёнными ISO/IEC 29500:
Части образца раздаточных материалов разрешается иметь явные связи со следующими частями, определёнными в ISO/IEC 29500:
Часть образца раздаточных материалов НЕ ДОЛЖНА (shall not) иметь неявных или явных связей с какой-либо другой частью, определённой в ISO/IEC 29500.
© ISO/IEC 29500: 2016
Корневым элементом части комментариев является элемент <cmLst/>.
Спецификация ISO/IEC 29500 описывает часть комментариев Open XML PresentationML следующим образом:
Экземпляр этого типа части содержит комментарии для одного слайда. Каждый комментарий связан со своим автором посредством идентификатора автора. Сочетание порядкового номера и идентификатора автора каждого комментария уникально.
Пакет ДОЛЖЕН (shall) содержать одну часть комментариев для каждого слайда, содержащего один или несколько комментариев, и каждая из этих частей ДОЛЖНА (shall) быть целью неявной связи из соответствующей части слайда (§13.3.8).
Пример. Следующий элемент связи части слайда содержит связь с частью комментариев, которая хранится в ZIP-элементе ../comments/comment2.xml:
<Relationships xmlns="…">
<Relationship Id="rId4"
Type="https://…/comments"
Target="../comments/comment2.xml"/>
</Relationships>
Корневым элементом части этого типа содержимого ДОЛЖЕН (shall) быть <cmLst/>.
Пример. Часть комментариев содержит три комментария: два созданы одним автором, а один — другим; все они созданы в указанные даты и время. Порядковые номера назначаются отдельно для каждого автора, начиная с 1 для первого комментария автора:
<p:cmLst xmlns:p="…" …>
<p:cm authorId="0" dt="2005-11-13T17:00:22.071" idx="1">
<p:pos x="4486" y="1342"/>
<p:text>Comment text goes here.</p:text>
</p:cm>
<p:cm authorId="0" dt="2005-11-13T17:00:34.849" idx="2">
<p:pos x="3607" y="1867"/>
<p:text>Another comment's text goes here.</p:text>
</p:cm>
<p:cm authorId="1" dt="2005-11-15T00:06:46.919" idx="1">
<p:pos x="1493" y="2927"/>
<p:text>comment …</p:text>
</p:cm>
</p:cmLst>
Часть комментариев ДОЛЖНА (shall) располагаться в пакете, содержащем часть связей (синтаксически это выражается тем, что атрибут TargetMode элемента Relationship ДОЛЖЕН (shall) иметь значение Internal).
Часть комментариев НЕ ДОЛЖНА (shall not) иметь неявных или явных связей с какой-либо другой частью, определённой в ISO/IEC 29500.
© ISO/IEC 29500: 2016
Корневым элементом части авторов комментариев является элемент <cmAuthorLst/>.
Спецификация ISO/IEC 29500 описывает часть авторов комментариев Open XML PresentationML следующим образом:
Экземпляр этого типа части содержит сведения о каждом авторе, добавившем комментарий в документ. Эти сведения включают имя автора, инициалы, уникальный идентификатор автора, счётчик последнего использованного индекса комментария и цвет отображения. (Цвет может использоваться при отображении комментариев, чтобы различать комментарии разных авторов.)
Пакет ДОЛЖЕН (shall) содержать не более одной части авторов комментариев. Если она существует, эта часть ДОЛЖНА (shall) быть целью неявной связи из части презентации (§13.3.6).
Пример. Следующий элемент связи части презентации содержит связь с частью авторов комментариев, которая хранится в ZIP-элементе commentAuthors.xml:
<Relationships xmlns="…">
<Relationship Id="rId8"
Type="https://…/commentAuthors" Target="commentAuthors.xml"/>
</Relationships>
Корневым элементом части этого типа содержимого ДОЛЖЕН (shall) быть <cmAuthorLst/>.
Пример. Комментарии в этом документе созданы двумя людьми: Мэри Смит и Питером Джонсом. Её инициалы — «mas», её идентификатор автора — 0, а индекс цвета отображения её комментариев — 0. Поскольку значение последнего использованного порядкового номера комментария Мэри равно 3, следующим порядковым номером комментария для неё будет 4. Его инициалы — «pjj», его идентификатор автора — 1, а индекс цвета отображения его комментариев — 1. Поскольку значение последнего использованного порядкового номера комментария Питера равно 1, следующим порядковым номером комментария для него будет 2:
<p:cmAuthorLst xmlns:p="…" …>
<p:cmAuthor id="0" name="Mary Smith" initials="mas" lastIdx="3"
clrIdx="0"/>
<p:cmAuthor id="1" name="Peter Jones" initials="pjj" lastIdx="1"
clrIdx="1"/>
</p:cmAuthorLst>
Часть авторов комментариев ДОЛЖНА (shall) располагаться в пакете, содержащем часть связей (синтаксически это выражается тем, что атрибут TargetMode элемента Relationship ДОЛЖЕН (shall) иметь значение Internal).
Часть авторов комментариев НЕ ДОЛЖНА (shall not) иметь неявных или явных связей с какой-либо другой частью, определённой в ISO/IEC 29500.
© ISO/IEC 29500: 2016
Теперь, когда вы знакомы с частями документа PresentationML, рассмотрим, как некоторые из этих частей реализованы и связаны в фактическом файле презентации. Как показано в статье Практическое руководство. Создание документа презентации путём указания имени файла, для построения минимального файла презентации по частям можно использовать Open XML API.
Минимальный файл презентации состоит из части презентации, представленной файлом presentation.xml, а также части свойств презентации (presProps.xml), части образца слайдов (slideMaster.xml), части макета слайда (slideLayout.xml) и части темы (theme.xml). Одна или несколько частей слайдов (slide.xml) являются необязательными.
Структура упаковки документа презентации содержит несколько ссылок между частями, включая некоторые циклические ссылки. Например, макеты слайдов ссылаются на образцы слайдов, а образцы слайдов ссылаются на макеты слайдов.
После запуска кода Open XML SDK для создания презентации можно изучить содержимое пакета .zip, чтобы просмотреть XML-код PresentationML. Чтобы просмотреть пакет .zip, переименуйте расширение минимальной презентации с .pptx на .zip. Внутри пакета .zip находится несколько частей, составляющих минимальную презентацию.
На рисунке 1 показана структура в папке ppt ZIP-пакета минимальной презентации, содержащей один слайд.
Рисунок 1. Структура папок минимальной презентации

Файл presentation.xml содержит элементы <sld/> (слайд), которые ссылаются на слайды презентации. Каждый слайд связан с презентацией посредством идентификатора слайда и идентификатора связи. slideID — это идентификатор (ID), используемый в пакете для идентификации слайда; он должен быть уникальным в пределах презентации. Атрибут id — это идентификатор связи, идентифицирующий определение части слайда, связанной со слайдом. Дополнительные сведения о части слайда см. в статье Работа со слайдами презентации.
Следующий XML-код — это PresentationML, представляющий часть презентации документа презентации, содержащего один слайд. Этот код создаётся при запуске кода Open XML SDK для создания минимальной презентации.
<?xml version="1.0" encoding="utf-8"?>
<p:presentation xmlns:p="http://schemas.openxmlformats.org/presentationml/2006/main">
<p:sldMasterIdLst>
<p:sldMasterId id="2147483648"
r:id="rId1"
xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" />
</p:sldMasterIdLst>
<p:sldIdLst>
<p:sldId id="256"
r:id="rId2"
xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" />
</p:sldIdLst>
<p:sldSz cx="9144000"
cy="6858000"
type="screen4x3" />
<p:notesSz cx="6858000"
cy="9144000" />
<p:defaultTextStyle />
</p:presentation>
Следующий XML-код — это PresentationML, представляющий часть связей документа презентации. Этот код создаётся при запуске Open XML SDK для создания минимальной презентации.
<?xml version="1.0" encoding="utf-8"?>
<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships">
<Relationship Type="https://schemas.openxmlformats.org/officeDocument/2006/relationships/slide"
Target="/ppt/slides/slide.xml"
Id="rId2" />
<Relationship Type="https://schemas.openxmlformats.org/officeDocument/2006/relationships/slideMaster"
Target="/ppt/slideLayouts/slideMasters/slideMaster.xml"
Id="rId1" />
<Relationship Type="https://schemas.openxmlformats.org/officeDocument/2006/relationships/theme"
Target="/ppt/slideLayouts/slideMasters/theme/theme.xml"
Id="rId5" />
</Relationships>
Следующий XML-код — это PresentationML, представляющий часть слайда документа презентации. С каждым слайдом презентации связана часть слайда. Этот код создаётся при запуске Open XML SDK для создания минимальной презентации.
<?xml version="1.0" encoding="utf-8"?>
<p:sld xmlns:p="http://schemas.openxmlformats.org/presentationml/2006/main">
<p:cSld>
<p:spTree>
<p:nvGrpSpPr>
<p:cNvPr id="1"
name="" />
<p:cNvGrpSpPr />
<p:nvPr />
</p:nvGrpSpPr>
<p:grpSpPr>
<a:xfrm xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" />
</p:grpSpPr>
<p:sp>
<p:nvSpPr>
<p:cNvPr id="2"
name="Title 1" />
<p:cNvSpPr>
<a:spLocks noGrp="1"
xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" />
</p:cNvSpPr>
<p:nvPr>
<p:ph />
</p:nvPr>
</p:nvSpPr>
<p:spPr />
<p:txBody>
<a:bodyPr xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" />
<a:lstStyle xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" />
<a:p xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main">
<a:endParaRPr lang="en-US" />
</a:p>
</p:txBody>
</p:sp>
</p:spTree>
</p:cSld>
<p:clrMapOvr>
<a:masterClrMapping xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" />
</p:clrMapOvr>
</p:sld>
Типичная презентация не имеет минимальной конфигурации. Типичная презентация может содержать несколько слайдов, каждый из которых ссылается на макеты слайдов и образцы слайдов и может содержать комментарии. Кроме того, презентация может содержать раздаточные материалы и слайды заметок, каждый из которых представлен отдельными частями. Эти дополнительные части содержатся в ZIP-пакете документа презентации.
На рисунке 2 показано большинство элементов, которые можно найти в типичной презентации.
Рисунок 2. Элементы файла PresentationML

Практическое руководство. Создание документа презентации путём указания имени файла Работа с презентациями Работа со слайдами презентации Работа с образцами слайдов Работа с макетами слайдов
MIT License
Copyright (c) Microsoft Corporation. All rights reserved.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE