PresentationML 文档的结构
PresentationML 文档的文档结构由演示文稿> (Presentation) 元素组成<,该元素包含 <sldMaster> (幻灯片母版) 、<sldLayout> (幻灯片版式) 、<sld > (幻灯片) ,以及<主题> (Theme) 引用演示文稿中幻灯片的元素。 (Theme 元素是 DrawingMLTheme part 的根元素。) 这些元素是有效演示文稿文档所需的最小元素。
此外,演示文稿文档可能包含 <备注> (备注幻灯片) 、 <handoutMaster> (讲义母版) 、 <sp> (Shape) 、 <图片> (图片) 、 <tbl> (表) 和其他与幻灯片相关的元素。 (Table 元素在 DrawingML 架构中定义。)
一个 PresentationML 文档可以包含的其他功能如下:动画、音频、视频以及幻灯片之间的切换。
PresentationML 文档不会存储为单个部件中的一个大型正文。 而实现某些功能组合的元素会存储在各个部件中。 例如,文档中的所有注释存储在一个注释部件中,而每个幻灯片都有自己的部件。 会为每个幻灯片创建一个单独的 XML 文件。
重要的演示文稿部件
使用 Open XML SDK,可以创建使用与 PresentationML 元素对应的强类型类的文档结构和内容。 可以在 DocumentFormat.OpenXml.Presentation 命名空间中找到这些类。 下表列出了与一些重要的演示文稿元素对应的类的类名。
包部分 | 顶级 PresentationML 元素 | Open XML SDK 类 | Description* |
---|---|---|---|
演示文稿 | <演示文稿> | Presentation | 演示文稿部件的根元素。 此元素中会指定演示文稿范围的基本属性。 |
演示文稿属性 | <presentationPr> | PresentationProperties | 演示文稿属性部件的根元素。 此元素用作父元素,其中包含演示文稿范围的其他文档属性。 |
幻灯片母版 | <sldMaster> | SlideMaster | 幻灯片母版部件的根元素。 在幻灯片母版幻灯片中,包含描述演示文稿幻灯片中的对象及其对应格式的所有元素。 有关详细信息,请参阅 使用幻灯片母版。 |
幻灯片版式 | <sldLayout> | SlideLayout | 幻灯片版式部件的根元素。 此元素为幻灯片母版中使用的每个幻灯片版式指定关系信息。 有关详细信息,请参阅 使用幻灯片版式。 |
主题 | <officeStyleSheet> | Theme | 主题部件的根元素。 此元素保留通过主题可供文档使用的所有不同的格式选项并定义在文档中使用主题对象时文档的总体外观。 |
幻灯片 | <Sld> | Slide | 幻灯片部件的根元素。 此元素在幻灯片列表中指定幻灯片。 有关详细信息,请参阅 使用演示文稿幻灯片。 |
备注母版 | <notesMaster> | NotesMaster | 备注母版部件的根元素。 在备注母版幻灯片中,包含描述备注幻灯片中的对象及其对应格式的所有元素。 |
备注幻灯片 | <笔记> | NotesSlide | 备注幻灯片部件的根元素。 此元素指定是否存在备注幻灯片及其对应数据。 备注幻灯片包含所有常用的幻灯片元素以及特定于备注元素的添加属性。 有关详细信息,请参阅 使用备注幻灯片。 |
讲义母版 | <handoutMaster> | HandoutMaster | 讲义母版部件的根元素。 在讲义母版幻灯片中,包含描述讲义幻灯片中的对象及其对应格式的所有元素。 有关详细信息,请参阅 使用讲义母版幻灯片。 |
Comments | <cmLst> | CommentList | 注释部件的根元素。 此元素为特定幻灯片指定注释列表。 有关详细信息,请参阅 处理批注。 |
注释作者 | <cmAuthorLst> | CommentAuthorList | 注释作者部件的根元素。 此元素指定在当前文档中具有注释的作者的列表。 有关详细信息,请参阅 处理批注。 |
*根据 ISO/IEC 29500 规范、© ISO/IEC29500:2008 改编的说明。
演示文稿部件
PresentationML 包的main部分以<演示文稿>根元素开头。 该元素包含演示文稿,演示文稿又引用幻灯片列表、幻灯片母版列表、备注母版列表和讲义母版列表。 幻灯片列表引用演示文稿中的所有幻灯片。 幻灯片母版列表是指演示文稿中使用的整个幻灯片母版集。 备注母版包含有关备注页格式的信息。 讲义母版描述讲义的外观。 (讲义是一组打印的幻灯片,可以分发给受众以供将来参考。)
演示文稿属性部件
Presentation Properties 部件的根元素是 <presentationPr> 元素。
ISO/IEC 29500(该链接可能指向英文页面) 规范对 Open XML PresentationML Presentation Properties 部件进行了如下介绍:
此部件类型的实例包含演示文稿的所有属性。
一个包恰好包含一个演示文稿属性部件,该部件应是演示文稿 (§13.3.6) 部件中的隐式关系的目标。
示例:以下演示文稿部件关系项目包含与演示文稿属性部件的关系,该部件存储在 ZIP 项 presProps.xml 中:
<Relationships xmlns="…">
<Relationship Id="rId6"
Type="https://…/presProps" Target="presProps.xml"/>
</Relationships>
此内容类型的部件的根元素应为 presentationPr。 示例:
<p:presentationPr xmlns:p="…" …>
<p:clrMru>
…
</p:clrMru>
…
</p:presentationPr>
演示文稿属性部件位于包含关系部件的包中(从句法的角度表达,Relationship 元素的 TargetMode 属性应为 Internal)。
演示文稿属性部件与 ISO/IEC 29500 定义的任何其他部件之间都不应存在隐式或显式关系。
© ISO/IEC29500: 2008.
幻灯片母版部件
幻灯片母版部件的根元素是 <sldMaster> 元素。
ISO/IEC 29500(该链接可能指向英文页面) 规范对 Open XML PresentationML Slide Master 部件进行了如下介绍:
此部件类型的实例包含由此幻灯片母版派生的演示文稿中的每个幻灯片上显示的格式、文本和对象的母版定义。
一个包应包含一个或多个幻灯片母版部件,每个部件应为以下关系的目标:来自演示文稿 (§13.3.6) 部件的一个显式关系,以及来自根据此幻灯片母版定义任何幻灯片版式的该幻灯片版式 (§13.3.9) 部件的一个隐式关系。 每个部件也可以选择作为幻灯片版式 (§13.3.9) 部件中的一个关系的目标。
示例:以下演示文稿部件关系项目包含与幻灯片母版部件的关系,该部件存储在 ZIP 项目 slideMasters/slideMaster1.xml 中:
<Relationships xmlns="…">
<Relationship Id="rId1"
Type="https://…/slideMaster"
Target="slideMasters/slideMaster1.xml"/>
</Relationships>
此内容类型的部件的根元素应为 sldMaster。 示例:
<p:sldMaster xmlns:p="…">
<p:cSld name="">
…
</p:cSld>
<p:clrMap … />
</p:sldMaster>
幻灯片母版部件应位于包含关系部件的包中(从句法的角度表达,Relationship 元素的 TargetMode 属性应为 Internal)。
允许幻灯片母版部件与 ISO/IEC 29500 定义的以下部件存在隐式关系:
- 其他特征 (§15.2.1)
- 书目 (§15.2.3)
- 自定义 XML 数据存储 (§15.2.4)
- 主题 (§14.2.7)
- 缩略图 (§15.2.16)
允许幻灯片母版部件与 ISO/IEC 29500 定义的以下部件存在显式关系:
- 音频 (§15.2.2)
- 图表 (§14.2.1)
- 内容部件 (§15.2.4)
- 关系图:图表颜色 (§14.2.3) 、图表数据 (§14.2.4) 、关系图布局定义 (§14.2.5) 和图表样式 (§14.2.6)
- 嵌入式控件持久性 (§15.2.9)
- 嵌入对象 (§15.2.10)
- 嵌入式包 (§15.2.11)
- 超链接 (§15.3)
- 映像 (§15.2.14)
- 幻灯片版式 (§13.3.9)
- 视频 (§15.2.15)
幻灯片母版部件与 ISO/IEC 29500 定义的任何其他部件之间都不应存在隐式或显式关系。
© ISO/IEC29500: 2008.
幻灯片版式部件
幻灯片版式部件的根元素是 <sldLayout> 元素。
ISO/IEC 29500(该链接可能指向英文页面) 规范对 Open XML PresentationML Slide Layout 部件进行了如下介绍:
此部件类型的实例包含用于此演示文稿的幻灯片版式模板的定义。 此模板定义创建幻灯片时绘制对象在此幻灯片类型中的默认外观和位置。
一个包应包含一个或多个幻灯片版式部件,每个部件应为以下关系的目标:幻灯片母版 (§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>
此内容类型的部件的根元素应为 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>
允许幻灯片版式部件与 ISO/IEC 29500 定义的以下部件存在隐式关系:
- 其他特征 (§15.2.1)
- 书目 (§15.2.3)
- 自定义 XML 数据存储 (§15.2.4)
- 幻灯片母版 (§13.3.10)
- 主题替代 (§14.2.8)
- 缩略图 (§15.2.16)
允许幻灯片版式部件与 ISO/IEC 29500 定义的以下部件存在显式关系:
- 音频 (§15.2.2)
- 图表 (§14.2.1)
- 内容部件 (§15.2.4)
- 关系图:图表颜色 (§14.2.3) 、图表数据 (§14.2.4) 、关系图布局定义 (§14.2.5) 和图表样式 (§14.2.6)
- 嵌入式控件持久性 (§15.2.9)
- 嵌入对象 (§15.2.10)
- 嵌入式包 (§15.2.11)
- 超链接 (§15.3)
- 映像 (§15.2.14)
- 视频 (§15.2.15)
幻灯片版式部件与 ISO/IEC 29500 定义的任何其他部件之间都应不存在隐式或显式关系。
© ISO/IEC29500: 2008.
幻灯片部件
Slide 部件的根元素是 <sld> 元素。
除了文本和图形,每个幻灯片还可以包含注释和备注,可以有布局,可以是一个或多个自定义演示文稿的组成部件。 注释是供维护演示文稿幻灯片平台的人员参考的批注。 备注是供演示者或访问群体参考的提醒信息或一段文字。
ISO/IEC 29500(该链接可能指向英文页面) 规范对 Open XML PresentationML Slide 部件进行了如下介绍:
幻灯片部件包含单个幻灯片的内容。
一个包应包含每个幻灯片的一个幻灯片部件,每个部件应为来自演示文稿 (§13.3.6) 部件的一个显式关系的目标。
示例:假设 PresentationML 文档有两张幻灯片。 对应的演示文稿部件关系项包含两个与幻灯片部件的关系,这些部件存储在 ZIP 项 slides/slide1.xml 和 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>
此内容类型的部件的根元素应为 sld。
示例:幻灯片/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>
幻灯片部件位于包含关系部件的包中(从句法的角度表达,Relationship 元素的 TargetMode 属性应为 Internal)。
允许幻灯片部件与 ISO/IEC 29500 定义的以下部件存在隐式关系:
- 其他特征 (§15.2.1)
- 书目 (§15.2.3)
- 注释 (§13.3.2)
- 自定义 XML 数据存储 (§15.2.4)
- 备注 幻灯片 (§13.3.5)
- 主题替代 (§14.2.8)
- 缩略图 (§15.2.16)
- 幻灯片版式 (§13.3.9)
- 幻灯片同步数据 (§13.3.11)
允许幻灯片部件与 ISO/IEC 29500 定义的以下部件存在显式关系:
- 音频 (§15.2.2)
- 图表 (§14.2.1)
- 内容部件 (§15.2.4)
- 关系图:图表颜色 (§14.2.3) 、图表数据 (§14.2.4) 、关系图布局定义 (§14.2.5) 和图表样式 (§14.2.6)
- 嵌入式控件持久性 (§15.2.9)
- 嵌入对象 (§15.2.10)
- 嵌入式包 (§15.2.11)
- 超链接 (§15.3)
- 映像 (§15.2.14)
- 用户定义的标记 (§13.3.12)
- 视频 (§15.2.15)
幻灯片部件与 ISO/IEC 29500 定义的任何其他部件之间都不应存在隐式或显式关系。
© ISO/IEC29500: 2008.
主题部件
Theme 部件的根元素是 <officeStyleSheet> 元素。
ISO/IEC 29500(该链接可能指向英文页面) 规范对 Open XML DrawingML Theme 部件进行了如下介绍:
此部件类型的实例包含有关文档主题的信息,即配色方案、字体方案和格式方案(后者也称为效果)的组合。 对于 WordprocessingML 文档,主题的选择会影响标题的颜色和样式以及其他事项。 对于 SpreadsheetML 文档,主题的选择会影响单元格内容和图表的颜色和样式以及其他事项。 对于 PresentationML 文档,主题的选择会通过关联的母版影响幻灯片、讲义和备注的格式以及其他事项。
一个 WordprocessingML 或 SpreadsheetML 包应包含零个或一个主题部件,该部件应为主文档 (§11.3.10) 或工作簿 (§12.3.23) 部件中的一个隐式关系的目标。 一个 PresentationML 包通过隐式关系对每个讲义母版 (§13.3.3)、备注母版 (§13.3.4)、幻灯片母版 (§13.3.10) 或演示文稿 (§13.3.6) 部件包含零个或一个主题部件。
示例:以下 WordprocessingML 主文档部件关系项包含与主题部件的关系,该部件存储在 ZIP 项目主题/theme1.xml 中:
<Relationships xmlns="…">
<Relationship Id="rId4"
Type="https://…/theme" Target="theme/theme1.xml"/>
</Relationships>
此内容类型的部件的根元素为 officeStyleSheet。
示例:theme1.xml 包含以下内容,其中 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>
主题部件位于包含关系部件的包中(从句法的角度表达,Relationship 元素的 TargetMode 属性应为 Internal)。
允许主题部件包含与 ISO/IEC 29500 定义的以下部件之间的显式关系:
- 映像 (§15.2.14)
主题部件与 ISO/IEC 29500 定义的其他部件之间不存在任何隐式或显式关系。
© ISO/IEC29500: 2008.
备注母版部件
Notes Master 部件的根元素是 <notesMaster> 元素。
ISO/IEC 29500(该链接可能指向英文页面) 规范对 Open XML PresentationML Notes Master 部件进行了如下介绍:
此部件类型的实例包含有关所有备注页的内容和格式信息。
一个包最多应包含一个备注母版部件,该部件应为以下关系的目标:来自备注幻灯片 (§13.3.5) 部件的一个隐式关系和来自演示文稿 (§13.3.6) 部件的一个显式关系。
示例:以下演示文稿部件关系项目包含与“备注母版”部件的关系,该部件存储在 ZIP 项目 notesMasters/notesMaster1.xml 中:
<Relationships xmlns="…">
<Relationship Id="rId4"
Type="https://…/notesMaster"
Target="notesMasters/notesMaster1.xml"/>
</Relationships>
此内容类型的部件的根元素应为 notesMaster。 示例:
<p:notesMaster xmlns:p="…">
<p:cSld name="">
…
</p:cSld\>
<p:clrMap … />
</p:notesMaster>
备注母版部件位于包含关系部件的包中(从句法的角度表达,Relationship 元素的 TargetMode 属性应为 Internal)。
允许备注母版部件与 ISO/IEC 29500 定义的以下部件存在隐式关系:
- 其他特征 (§15.2.1)
- 书目 (§15.2.3)
- 自定义 XML 数据存储 (§15.2.4)
- 主题 (§14.2.7)
- 缩略图 (§15.2.16)
允许备注母版部件与 ISO/IEC 29500 定义的以下部件存在显式关系:
- 音频 (§15.2.2)
- 图表 (§14.2.1)
- 内容部件 (§15.2.4)
- 关系图:图表颜色 (§14.2.3) 、图表数据 (§14.2.4) 、关系图布局定义 (§14.2.5) 和图表样式 (§14.2.6)
- 嵌入式控件持久性 (§15.2.9)
- 嵌入对象 (§15.2.10)
- 嵌入式包 (§15.2.11)
- 超链接 (§15.3)
- 映像 (§15.2.14)
- 视频 (§15.2.15)
备注母版部件与 ISO/IEC 29500 定义的任何其他部件之间都不应存在隐式或显式关系。
© ISO/IEC29500: 2008.
备注幻灯片部件
备注幻灯片部件的根元素是 <notes> 元素。
ISO/IEC 29500(该链接可能指向英文页面) 规范对 Open XML PresentationML Notes Slide 部件进行了如下介绍:
此部件类型的实例包含单个幻灯片的备注。
在包中,包含备注的每个幻灯片应有一个备注幻灯片部件。 这些部件(如果存在)应当一一成为幻灯片 (§13.3.8) 部件的每个隐式关系的目标。
示例:以下幻灯片部件关系项目包含与“备注”幻灯片部件的关系,该部件存储在 ZIP 项 中。/notesSlides/notesSlide1.xml:
<Relationships xmlns="…">
<Relationship Id="rId3"
Type="https://…/notesSlide"
Target="../notesSlides/notesSlide1.xml"/>
</Relationships>
此内容类型的部件的根元素应为备注。 示例:
<p:notes xmlns:p="…">
<p:cSld name="">
…
</p:cSld>
<p:clrMapOvr>
<a:masterClrMapping/>
</p:clrMapOvr>
</p:notes>
备注幻灯片部件应位于包含关系部件的包中(从句法的角度表达,Relationship 元素的 TargetMode 属性应为 Internal)。
允许备注幻灯片部件与 ISO/IEC 29500 定义的以下部件存在隐式关系:
- 其他特征 (§15.2.1)
- 书目 (§15.2.3)
- 自定义 XML 数据存储 (§15.2.4)
- Notes Master (§13.3.4)
- 主题替代 (§14.2.8)
- 缩略图 (§15.2.16)
允许备注幻灯片部件与 ISO/IEC 29500 定义的以下部件存在显式关系:
- 音频 (§15.2.2)
- 图表 (§14.2.1)
- 内容部件 (§15.2.4)
- 关系图:图表颜色 (§14.2.3) 、图表数据 (§14.2.4) 、关系图布局定义 (§14.2.5) 和图表样式 (§14.2.6)
- 嵌入式控件持久性 (§15.2.9)
- 嵌入对象 (§15.2.10)
- 嵌入式包 (§15.2.11)
- 超链接 (§15.3)
- 映像 (§15.2.14)
- 视频 (§15.2.15)
备注幻灯片部件与 ISO/IEC 29500 定义的任何其他部件之间都应不存在隐式或显式关系。
© ISO/IEC29500: 2008.
讲义母版部件
Handout Master 部件的根元素是 <handoutMaster> 元素。
ISO/IEC 29500(该链接可能指向英文页面) 规范对 Open XML PresentationML Handout Master 部件进行了如下介绍:
此部件类型的实例包含演示文稿讲义上的幻灯片、备注、页眉和页脚文本、日期或页码的外观、位置和大小。
一个包最多包含一个讲义母版部件,该部件是演示文稿 (§13.3.6) 部件中的显式关系的目标。
示例:以下演示文稿部件关系项目包含与讲义母版部件的关系,该部件存储在 ZIP 项目 handoutMasters/handoutMaster1.xml 中:
<Relationships xmlns="…">
<Relationship Id="rId5"
Type="https://…/handoutMaster"
Target="handoutMasters/handoutMaster1.xml"/>
</Relationships>
此内容类型的部件的根元素应为 handoutMaster。 示例:
<p:handoutMaster xmlns:p="…">
<p:cSld name="">
…
</p:cSld\>
<p:clrMap … >
</p:handoutMaster>
讲义母版部件应位于包含关系部件的包中(从句法的角度表达,Relationship 元素的 TargetMode 属性应为 Internal)。
允许讲义母版部件与 ISO/IEC 29500 定义的以下部件存在隐式关系:
- 其他特征 (§15.2.1)
- 书目 (§15.2.3)
- 自定义 XML 数据存储 (§15.2.4)
- 主题 (§14.2.7)
- 缩略图 (§15.2.16)
允许讲义母版部件与 ISO/IEC 29500 定义的以下部件存在显式关系:
- 音频 (§15.2.2)
- 图表 (§14.2.1)
- 内容部件 (§15.2.4)
- 关系图:图表颜色 (§14.2.3) 、图表数据 (§14.2.4) 、关系图布局定义 (§14.2.5) 和图表样式 (§14.2.6)
- 嵌入式控件持久性 (§15.2.9)
- 嵌入对象 (§15.2.10)
- 嵌入式包 (§15.2.11)
- 超链接 (§15.3)
- 映像 (§15.2.14)
- 视频 (§15.2.15)
讲义母版部件与 ISO/IEC 29500 定义的任何其他部件之间都不应存在隐式或显式关系。
© ISO/IEC29500: 2008.
注释部件
注释部分的根元素是 <cmLst> 元素。
ISO/IEC 29500(该链接可能指向英文页面) 规范对 Open XML PresentationML Comments 部件进行了如下介绍:
此部件类型的实例包含单个幻灯片的注释。 每个注释通过作者 ID 与其作者绑定在一起。 每个注释的索引号和作者 ID 组合都是唯一的。
每个包含一个或多个注释的幻灯片在包中有一个注释部件,其中每个部件都为来自对应幻灯片 (§13.3.8) 部件的隐式关系的目标。
示例:下面的幻灯片部件关系项目包含与“注释”部件的关系,该部件存储在 ZIP 项 中。/comments/comment2.xml:
<Relationships xmlns="…">
<Relationship Id="rId4"
Type="https://…/comments"
Target="../comments/comment2.xml"/>
</Relationships>
此内容类型的部件的根元素应为 cmLst。
示例:“注释”部分包含三个注释,其中两个由一个作者创建,另一个由另一个作者创建,所有注释都在显示的日期和时间。 按作者分配索引号,从 1 开始,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>
注释部件位于包含关系部件的包中(从句法的角度表达,Relationship 元素的 TargetMode 属性应为 Internal)。
注释部件与 ISO/IEC 29500 定义的任何其他部件之间都不应存在隐式或显式关系。
© ISO/IEC29500: 2008.
注释作者部件
注释作者部件的根元素是 <cmAuthorLst> 元素。
ISO/IEC 29500(该链接可能指向英文页面) 规范对 Open XML PresentationML Comments Author 部件进行了如下介绍:
此部件类型的实例包含有关向文档添加了注释的每个作者的信息。 该信息包括作者的姓名、姓名缩写、唯一的作者 ID、上次注释索引使用的计数和显示颜色。 (显示批注时可以使用颜色来区分不同作者的批注。)
一个包最多应包含一个注释作者部件。 该部件(如果存在)应为演示文稿 (§13.3.6) 部件中的一个隐式关系的目标。
示例:以下演示文稿部件关系项包含与注释作者部件的关系,该部件存储在 ZIP 项 commentAuthors.xml:
<Relationships xmlns="…">
<Relationship Id="rId8"
Type="https://…/commentAuthors" Target="commentAuthors.xml"/>
</Relationships>
此内容类型的部件的根元素应为 cmAuthorLst。
示例:两个人在此文档中创作了注释:Mary Smith 和 Peter Jones。 Mary Smith 的姓名首字母缩写为"mas",她的作者 ID 为 0,注释的显示颜色索引为 0。 由于 Mary 的最近使用的注释索引值为 3,因此供她使用的下一个注释索引将为 4。 Peter Jones 的姓名首字母缩写为"pjj",他的作者 ID 为 1,注释的显示颜色索引为 1。 由于 Peter 的最近使用的注释索引值为 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>
注释作者部件应位于包含关系部件的包中(从句法的角度表达,Relationship 元素的 TargetMode 属性应为 Internal)。
注释作者部件与 ISO/IEC 29500 定义的任何其他部件之间都不应存在隐式或显式关系。
© ISO/IEC29500: 2008.
最小演示文稿文件的结构
既然您已经熟悉 PresentationML 文档的各个部件,就可以考虑在实际演示文稿文件中如何实现和连接其中某些部件。 如 文章如何:通过提供文件名创建演示文稿文档所示,可以使用 Open XML API 逐个生成最小演示文稿文件。
最小演示文稿文件包含一个由文件 presentation.xml 表示的演示文稿部件以及一个演示文稿属性部件 (presProps.xml)、一个幻灯片母版部件 (slideMaster.xml)、一个幻灯片版式部件 (slideLayout.xml) 和一个主题部件 (theme.xml)。 有一个或多个幻灯片部件 (slide.xml) 是可选的。
演示文稿文档的打包结构包含各部件之间的多个引用,其中包括一些循环引用。 例如,幻灯片版式引用幻灯片母版,幻灯片母版引用幻灯片版式。
生成的 PresentationML XML 代码
运行 Open XML SDK 代码以生成演示文稿后,可以浏览 .zip 包的内容以查看 PresentationML XML 代码。 若要查看 .zip 包,可将最小演示文稿的扩展名由 .pptx 重命名为 .zip。 在 .zip 包中,有多个构成最小演示文稿的部件。
图 1 显示 .zip 包的 ppt 文件夹下用于包含单个幻灯片的最小演示文稿的结构。
图 1. 最小演示文稿文件夹结构
presentation.xml 文件包含 <sld> (Slide) 元素,这些元素引用演示文稿中的幻灯片。 每个幻灯片通过幻灯片 ID 和关系 ID 与演示文稿关联。 slideID 是在包中用于标识幻灯片的标识符 (ID),在演示文稿中必须唯一。 id 属性是标识与幻灯片关联的幻灯片部件定义的关系 ID。 有关幻灯片部件的详细信息,请参阅 使用演示文稿幻灯片。
下面的 XML 代码为 PresentationML,它表示包含单个幻灯片的演示文稿文档的演示文稿部件。 运行 Open XML SDK 代码以创建最小演示文稿时会生成此代码。
<?xml version="1.0" encoding="utf-8"?>
<p:presentation xmlns:p="https://schemas.openxmlformats.org/presentationml/2006/main">
<p:sldMasterIdLst>
<p:sldMasterId id="2147483648"
r:id="rId1"
xmlns:r="https://schemas.openxmlformats.org/officeDocument/2006/relationships" />
</p:sldMasterIdLst>
<p:sldIdLst>
<p:sldId id="256"
r:id="rId2"
xmlns:r="https://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="https://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="https://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="https://schemas.openxmlformats.org/drawingml/2006/main" />
</p:cNvSpPr>
<p:nvPr>
<p:ph />
</p:nvPr>
</p:nvSpPr>
<p:spPr />
<p:txBody>
<a:bodyPr xmlns:a="https://schemas.openxmlformats.org/drawingml/2006/main" />
<a:lstStyle xmlns:a="https://schemas.openxmlformats.org/drawingml/2006/main" />
<a:p xmlns:a="https://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="https://schemas.openxmlformats.org/drawingml/2006/main" />
</p:clrMapOvr>
</p:sld>
典型演示文稿方案
典型演示文稿不具有最低配置。 典型演示文稿可能包含多个幻灯片,每个幻灯片都引用幻灯片版式和幻灯片母版,还可能包含注释。 此外,演示文稿还可能包含讲义和备注幻灯片,每个幻灯片都由单独的部件来表示。 这些附加部件包含在演示文稿文档的 .zip 包中。
图 2 显示可在典型演示文稿中找到的大多数元素。
图 2. PresentationML 文件的元素