Office Open XML と ECMA-376 仕様

概要:   この記事では、Office Open XML (Open XML) の簡単な概要およびその使用法について説明し、Open XML を定義する ECMA-376 Office Open XML ファイル形式の仕様に読者が習熟するように支援します。

適用対象: Excel 2010 | Office 2007 | Office 2010 | Office client | Open XML | PowerPoint 2010 | SharePoint Server 2010 | VBA | Word 2010

この記事の内容
Office Open XML とは
ECMA-376 標準
まとめ
その他の技術情報

公開:   2011 年 2 月

提供元:   Microsoft Corporation

目次

Office Open XML とは

Office Open XML (Open XML) は、情報の保存と交換を行うためにオフィス ソフトウェア スイートに実装される国際的に受け入れられたファイル形式の標準です。たとえば、2007 Microsoft Office system および Microsoft Office 2010 では、それぞれのドキュメントが Open XML 形式で保存されます。Open XML 標準に準拠する他のオフィス ソフトウェア スイートでは、これらのファイルの読み取り、編集、および書き込みができます。

初期のデスクトップ ソフトウェアでは、各ドキュメント形式は、WordStar、WordPerfect、VisiCalc、Lotus 1-2-3 などを含め、よく知られた形式で特定のアプリケーションに密接に結び付けられていました。これらの形式は、各アプリケーションの特定の機能をサポートしましたが、通常、単一ベンダーによって制御されていました。したがって、これらの形式では、国際標準に関連付けられる長期的な利益が得られませんでした。最も重要なことは、当時のアプリケーションは、通常、別のベンダーのソフトウェアによって作成されたファイルを使用 (相互運用と呼ばれる) できなかったことです。また、初期のファイル形式は、徹底したサポート ドキュメントやアーカイブ保護のほか、公衆に標準の進化に参加する機会を提供するコミュニティ主導の維持管理など、いくつかの機能が欠けていました。Open XML 標準の登場により、これらのメリットを得ることができます。

Open XML 標準の主な目標の 1 つは、標準が書かれた時点に存在した Microsoft Office ドキュメントの集成との完全な互換性を確保することです。この目標は、最終標準で達成されました。ユーザーは、既存のドキュメントを、以前の独自のバイナリ形式から標準化された Open XML 形式に、ドキュメントの内容、セマンティクス、または構造を失うことなく簡単に変換できます。Open XML は、この目標に対処する唯一の形式です。これは, .doc, .xls、および .ppt 形式に基づく既存のドキュメントに多額の投資を行うユーザーおよび組織にとって重要な考慮事項です。

他の形式には、他のニーズに対処する目標があります。たとえば、ISO/IEC 26300 の OpenDocument 形式では、その目標について、"オフィス ドキュメントに適する" ことと述べられています。ただし、長く続いた以前のバイナリ形式の多くの機能が含まれていません。そのような機能には、強固な変更履歴、スプレッドシートの数式、および柔軟な宛名の差し込みの各機能が含まれます。

Open XML は幅広いサポートを受けています。たとえば、さまざまな Apple 互換製品を使用して Open XML ファイルを編集できます。これらの製品には、iWork デスクトップ生産性スイート、OS-X オペレーション システムおよび iPhone プラットフォーム向けの TextEdit、および Microsoft Office for Mac 製品ラインが含まれます。Linux オペレーティング システムでは、OpenOffice.org、IBM、Novell、および Gnumeric の製品が Open XML 互換を提供します。Windows オペレーティング システムでは、Microsoft Office、Corel WordPerfect Office X-4、Nuance の OmniPage、Datawatch の Monarch、および Altova の XMLSpy を使用して Open XML ファイルを使用できます。また、Google Docs、Zoho Writer、および Office 365 では、Open XML ファイルの表示、更新、共有ができます。

ECMA-376 標準

Open XML 形式は、ECMA と呼ばれる標準化団体によって定義されます。以前は欧州電子計算機工業会 (European Computer Manufacturer’s Association) として知られていた ECMA は、情報交換に関する国際標準を規定します。Open XML を定義する特定のドキュメントは、ECMA-376 (英語) 標準です。

別の国際標準化団体である国際標準化機構 (International Organization for Standards: ISO) も、ISO/IEC 29500 と呼ばれる、Open XML の標準 (英語)を提供します。Open XML 標準の作成と維持に ECMA と ISO が関与することで、最大コミュニティの参加が確保されます。

ECMA-376 標準は、ECMA のサイトで無料で入手できます。ISO バージョンは、ISO の Web サイトから購入できます。

標準のエディション

この記事の執筆の時点で、ECMA-376 標準の 2 つのエディションが存在します。また、ISO が公開する Open XML 標準のエディションもあります。

Open XML 標準の ISO/IEC 29500 バージョンは、厳密型 (Strict) および移行型 (Transitional) の 2 種類の Open XML ファイルを規定します。移行型 (Transitional) の ISO/IEC 29500 は、ECMA-376 の最初のエディションと "ほぼ" 同じです。ECMA-376 標準の Edition 2 は、ISO 29500 の厳密型 (Strict) バージョンと同じです。

2007 Microsoft Office system は、ECMA-376 Edition 1 標準に準拠するファイルの読み取りと書き込みを行います。Office 2010 は、ECMA-376 Edition 1 に適合するファイルの読み取り、ISO/IEC 29500 の移行型 (Transitional) に適合するファイルの読み取りと書き込み、および ISO/IEC 29500 の厳密型 (Strict) に適合するファイルの読み取りを行います。

標準の言語、語法、およびスタイル

Open XML 標準では、互換性のないソフトウェアの実装につながる可能性のある複数の解釈を回避するために、特定の言語、語法、および文書スタイルが使用されます。これらのうち、まず最も重要なことは、規範的文章と情報的文章の区別です。

Open XML 仕様で規範的として述べられているすべての文章は必須です。たとえば、仕様を読むと、Part 1 の Section 3 に「Normative References」というセクションが含まれていることがわかります。この引用規格 (Normative References) では、仕様を読んで理解する "必要のある" ドキュメントの一覧が提供されます。

特に指定のない限り、仕様内のすべての文章は規範的です。ソフトウェアは、Open XML 標準に適合するとみなされるためには、規範的文章に指定された要件を実装する必要があります。

情報的として記述されている仕様内のすべての文章はオプションです。仕様には、"This subclause is informative" (この条項は情報的である) および "End informative subclause" (情報的な条項の終了) のようなステートメントによって情報的として特にマーク付けされた文章のブロックが含まれます。仕様に含まれるこの文章は、情報提供のみを目的とします。

明瞭性を高めるために ISO/IEC 29500 および ECMA-376 Edition 2 に組み込まれた 2 番目の方法は、MUST、MUST NOT、REQUIRED、SHALL、SHALL NOT、SHOULD、SHOULD NOT、RECOMMENDED、MAY、および OPTIONAL という単語です。仕様では、このすべての単語が大文字で表されます。また、これらの単語は、インターネット技術標準化委員会 (IETF) で公開されている RFC 2119 (英語) と呼ばれる仕様に従って使用されます。RFC 2119 は、これらの単語に関する明確な定義を提供し、仕様内のある情報が必要なこと、オプションであること、禁止されること、推奨されること、または推奨されないことを示します。

仕様を読むときに、導入者は、メモおよび例の終わりの場所が不明確なために要件を誤って解釈することがあります。このような誤まった解釈が起きないようにするために、明瞭性を高めるための別の技法として、Open XML 仕様では、メモおよび例の開始と終了がマーク付けされます。仕様では、メモの開始と終了の場所が "[Note:" および "end note]" というテキストで示されます。同様に、例の開始と終了が "[Example:" および "end example]" で示されます。また、仕様には、"[Rationale:" と "end rationale]"、"[Guidance:" と "end guidance]" など、各種マーカーも含まれます。

Open XML 仕様の明瞭性をさらに高めるために、文章では、ソフトウェアを適合するために実装する必要のあるすべての機能に番号が付けられます。このような機能には、必須 (Mandatory) を表す M に続けてセクションと要件番号が付けられます。たとえば、仕様に次のようなステートメントが含まれます。

Package implementers shall not map logical item name(s) mapped to the Content Types stream in a ZIP archive to a part name. [M3.11]

仕様のステートメントに付けられたマーカー [M3.11] は、関連付けられたステートメントは適合のために必須であることを示します。また、マーカーには、そのトピック内で一意の数値 ID が与えられます。

仕様に含まれる適合機能には、ソフトウェアに実装する必要があるけれど適合のために必要とされないものもあります。このような機能には M の代わりに S のマークが付けられます。また、仕様では、オプションの機能も説明されますが、そのような機能には O のマークが付けられます。

ECMA-376 Edition 1 標準の構造

ECMA-376 標準は、Open XML を XML ベースの第 1 マークアップ言語セットとして定義します。各マークアップ言語は特定の目的で使用されます。具体的には、この標準は、第 1 マークアップ言語を WordprocessingML (WML)、PresentationML (PML)、および SpreadsheetML (SML) として定義します。これらのマークアップ言語は、第 2 マークアップ言語セットを使用して、すべての第 1 マークアップ言語に共通したタスクの共通の実行方法を提供します。この例として DrawingML (DML) があります。WML、PML、および SML のすべてが、これを、グラフィックを処理するためのメカニズムとして使用します。第 2 マークアップ言語は、第 1 マークアップ言語の基盤となるボキャブラリを形成します。標準のボキャブラリには、メタデータ、論理式などの情報も含まれます。

さらに、この標準では、Open XML ファイルの構造とレイアウト、Open XML ファイルの実装に使用される基盤となるテクノロジなど、他の必要なテクノロジも規定されます。Open XML は 5 個の異なるパートで提供されます。

Part 1 - Fundamentals

Part 1 では、この標準で使用される基本概念が説明され、第 1 と第 2 マークアップ言語の詳細が規定されます。Part 1 では基本概念が説明されているため、Open XML に習熟していないユーザーにとってこのパートは最適な開始点になります。Part 1 には、この標準で使用される基本用語の定義と、この標準に含まれる頭字語および略称の説明が含まれます。

さらに、Part 1 では、Open XML ファイルのレイアウトと実装の概要が説明されます。また、Open XML ファイルを強化および拡張するためにソフトウェア ベンダーが使用できるマークアップの互換性と拡張性の各機能が紹介されています。

Part 2 - Open Packaging Conventions

Office Open XML ドキュメントは、パッケージと呼ばれるコンテナに保管される一連の関連パーツとして表されます。ECMA-376 Edition 1 仕様の Part 2 では、パッケージ、パーツ、およびパーツ間の関係が説明されます。また、パッケージ、パーツ、および関係を物理ファイルとしてディスクまたは他の記憶媒体に保管する方法が指示されます。

Part 2 で説明されているその他のトピックには、パッケージの核となるプロパティ、デジタル署名、および Open XML 標準に適合するための一連の要件が含まれます。

Part 3 - Primer

ECMA-376 標準の Edition 1 の Part 3 では、Open XML に関する広範な手引きが提供されます。また、Open XML で使用される第 1 と第 2 マークアップ言語が説明されます。さらに、Open XML でのオブジェクト埋め込みの紹介、および Open XML 標準に拡張機能を追加する方法の説明が提供されます。

Part 4 - Markup Language Reference

ECMA-376 仕様の Edition 1 の Part 4 では、Open XML で使用されるマークアップ言語の詳細について説明する一連の広範な参照ページが提供されます。また、Open XML を定義する XML スキーマと RELAX NG スキーマが提供されます。

Part 5 - Markup Compatibility and Extensibility

ECMA-376 Edition 1 標準の Part 5 では、Open XML マークアップ言語を拡張する方法が定義されます。この方法を使用して、個々のソフトウェア導入者は、この標準を革新し、各自のアプリケーションに固有の機能を提供できます。ただし、導入者がマークアップの互換性と拡張性 (Markup Compatibility and Extensibility: MCE) のルールに準拠して機能を追加した場合、そのソフトウェアによって作成されたファイルは、ECMA-376 標準に準拠しています。結果として、Open XML をサポートするすべてのソフトウェアでそのファイルを読むことができます。つまり、ベンダーは革新を実現しながら相互運用性も実現できます。

ECMA-376 Edition 2 標準の構造

ECMA-376 標準の Edition 2 は、Open XML の設計を更新して拡大します。また、Edition 1 の情報の多くを認識し、さらに詳しく説明します。

Part 1 - Fundamentals and Markup Language Reference

ECMA-376 仕様の Edition 2 の Part 1 では、Edition 1 の Part 1 で提供された情報と同じ情報が説明されます。また、この標準のマークアップ言語に関する広範な参照資料が提供されます。これには、各 XML 要素、その親要素、その子要素、およびその属性の説明が含まれます。Part 1 には、Open XML を規定する XML スキーマも含まれます。このスキーマは、World Wide Web Committee (W3C) の XML Schema 1.0 構文を使用して定義されます。

Part 1 で提供されるその他のトピックには、適合クラス、相互運用性のほかに、ECMA-376 Edition 2 (ISO/IEC 29500) と ECMA-376 Edition 1 の違いの説明が含まれます。

Part 2 - Open Packaging Conventions

ECMA-376 仕様の Edition 2 の Part 2 には、Edition 1 の Part 2 の情報の更新バージョンが含まれます。2 つのエディションの主な違いの 1 つは、Edition 1 の Part 2 の Annex H が適合のための一連の規範的要件になっていることです。Edition 2 の Annex H は、代わりに、適合ドキュメントを作成する方法に関する一連の情報的ガイドラインになっています。また、Open XML ファイルを実装するためのベスト プラクティスに関する情報が含まれます。これらは、一連の要件としてではなく、便利な情報として提供されます。

Part 3 – Markup Compatibility and Extensibility

ECMA-376 Edition 2 標準の Part 3 では、Open XML マークアップ言語の拡張方法が定義されます。Edition 2 の Part 3 では、Edition 1 の Part 5 と同じ情報が説明されます。

Part 4 – Transitional Migration Features

ECMA-376 標準の Edition 2 の Part 4 では、古いドキュメントの種類の下位互換性に焦点が当てられます。具体的には、2007 Microsoft Office system よりも前にリリースされた Microsoft Office のバージョンで作成されたバイナリ ドキュメントを読み込むこと、およびそのドキュメントを Open XML に変換することを可能にする機能が提供されます。

また、Part 4 では、最近の革新を支持して廃止されつつある機能 (VML など) との互換性が説明されます。

まとめ

Open XML は、広範な機能を実現する標準をオフィス ソフトウェアの導入者に提供します。このような機能には、相互運用性、アーカイブ保護、拡張性、既存の Microsoft Office ドキュメントとの互換性などが含まれます。

Open XML を規定する ECMA-376 標準では、Open XML ファイルの作成、編集、および保存に必要な要件が説明されます。また、Open XML を構成するマークアップ言語に関する情報が提供されます。ECMA-376 標準には、Open XML ファイルで使用されるパッケージング化規則の説明、およびソフトウェア ベンダーがカスタム拡張機能をこの標準に構築するのに使用できるメカニズムに関する説明が含まれます。ECMA-376 は、下位互換性を維持するための、この標準の機能も提供します。

その他の技術情報

詳細については、次のリソースを参照してください。