网络日志

什么是 Office Open XML 文件格式

Office Open XML是一种基于 XML 的文件格式,已发布为 ECMA-376。 它被 Microsoft Office 2007/2010 用作默认文件格式。

有计划在 OpenOffice.org 中支持这种文件格式,以便与 Microsoft Office 2007/2010 进行互操作。

格式有3种主要类型,2种次要类型作为重要补充:

  • WordprocessingML - 用于文字处理器文档(文件扩展名可能是 docx、docm)

一个例子见下图:

  • SpreadsheetML - 用于电子表格文档(文件扩展名可能是 xlsx、xlsm)
  • PresentationML - 用于演示文档(文件扩展名可能是 pptx、pptm)
  • DrawingML - 被其他标记语言用来表示图形数据。
  • VML - 遗留的矢量标记。

Packaging Conventions

OpenXML 文档是由parts 的平面集合组成的包。 每个 part 都有一个不区分大小写的部分名称,该名称由斜线 (/) 分隔的段名称序列组成,例如/pres/slides/slide1.xml

在大多数情况下,ZIP 压缩用于打包部件,在这种情况下,术语“包”是指 ZIP 存档,而部件是指存档在其中的单个文件。 在这种情况下,部件名称是存档中的文件路径。

part 名称如下图 partname 所示:

每个 part 也有一个内容类型,[Content_Types.xml 提供存档中每个部分的内容类型。

Part 的 Content-Type 例子如下:

Relationships

包和部件可以包含与其他部件以及外部资源的显式关系。 每个显式关系都有一个 ID 和一个类型,并且关系类型使用 URI 命名。一个例子如下图所示:

每个包或部件的显式关系集存储在关系部件中,其名称(或路径)遵循特定约定,例如 称为“/a/b/c.xml”的部分的关系部分称为“/a/b/_rels/c.xml.rels”。 作为一个特例,包作为一个整体的关系部分称为“/_rels/.rels”。

这个特殊的 relationship 如下图所示: