第2章 パッケージ

パッケージとは

MS OfficeのWord、Excel、PowerPointを使って作成されたファイルは、それぞれOOXML以前のファイル形式を表す拡張子doc、xls、pptの末尾に「x」を付け、docx、xlsx、pptxのようになっています。

次に各アプリケーションのファイルタイプと拡張子の一覧を示します。

Microsoft Word 2019のファイル タイプ
Wordのファイル タイプ 拡張子
Word文書 docx
Wordマクロ有効文書 docm
Wordマクロ有効テンプレート dotm
Wordテンプレート dotx
完全Open XMLドキュメント docx
Microsoft Excel 2019のファイル タイプ
Excelのファイル タイプ 拡張子
Excel ブック xlsx
Excel マクロ有効ブック xlsm
Excel テンプレート xltx
Excel マクロ有効テンプレート xltm
Strict Open XML Spreadsheet Document xlsx
Microsoft PowerPoint 2019のファイル タイプ
PowerPointのファイル タイプ 拡張子
PowerPoint XMLプレゼンテーション pptx
PowerPoint 画像化 XML プレゼンテーション pptx
完全Open XML プレゼンテーション pptx
PowerPoint XMLプレゼンテーション xml
PowerPoint マクロ有効プレゼンテーション pptm
PowerPointテンプレート potx
PowerPoint マクロ有効テンプレート potm
PowerPoint マクロ有効アドイン ppam
PowerPoint スライドショー ppsx
PowerPoint マクロ有効スライド ショー ppsm

MS Officeで使用される拡張子は、このようにマクロやテンプレートの有無で変化します。文書テンプレートとして保存したものは末尾のxの前にtが、マクロを付加したものはmが末尾に付加されています。

「完全Open XML」、あるいは「Strict Open XML」という文字列を含むものは、ISO/IEC 29500のPart 1から3、Strictの仕様に準拠するOOXMLです。

MS Officeのアプリケーションで作成したファイルは1つのファイルとして保存されますが、実際には複数のファイルをzip圧縮して1つにまとめたコンテナです。OOXMLではこのコンテナをパッケージと呼びます。したがって、このパッケージの拡張子をzipに変更して解凍するとパッケージの内部を見ることができます。

OOXMLでないXML形式

Word XMLはWord 2003で採用された、OOXML以前にXML形式を採用した保存形式で拡張子はxmlです。OOXMLのWordprocessingMLとの共通点はあるものの、単一のXMLであることなど、様々な差異があります。

ExcelもOOXML以前にXML形式が採用されました。「XMLスプレッドシート2003」がこの形式にあたります。

ファイルタイプ表記と種類

Office 2007では、たとえばdocxは「Word 2007 XML文書」のように、OOXML(Transitional)の新形式であることが強調されていました。また、「完全Open XML」あるいは「Strict Open XML」が保存形式に登場するのはOffice 2013以降となります。

Word 2019で作成したdocxファイルのパッケージ内部
Word 2019で作成したdocxファイルのパッケージ内部

このように、パッケージ内部は複数の階層化されたフォルダとファイルに分散しています。これらのファイルはパーツと呼ばれます。パーツに必要なファイルや構造は決まっていますが、詳細はそれぞれの文書が定義します。

パッケージの仕様の基本はISO/IEC 29500-2 Open Packaging Conventions(OPC)で定義されています。

ISO/IEC 29500-2

ISO/IEC 29500-2はXMLとフォルダを中心としたパッケージの構造、共通する文書情報、サムネイル画像、OPCに基づく文書ファイルの電子署名について扱っています。本書では電子署名については扱いません。

OPCはOOXML仕様以外にも利用できるように定義されています。たとえばXML Paper Specification(XPS)仕様のパッケージもOPCに基づくものです。

つまりOOXMLのパッケージ全体の仕様は、OPCにOOXMLのための拡張を加えたもの、ということになります。

仕様としてのパッケージ概観
仕様としてのパッケージ概観