Office Open XML ファイルフォーマット
Office Open XML does not use mixed content but uses elements to put a series of text runs (element name r) into paragraphs (element name p). 結果として、HTMLがフラットで人間がテキストエディターで編集しやすいのに比べて、簡潔で何層にも入れ子されたものとなっている。
要素と属性のネーミングは批判を集めた部分である。OOXML(ECMA-376)では色とテキストの寄せ方向の文法はドキュメントがテキストかスプレッドシートかプレゼンテーションかによって3種類の異なった記法になっている。Rob Weir(IBM 社員、OASIS OpenDocument Format 技術委員会副議長)は "このような恐怖は技術的に正当化できるのか?"と問うている。彼は対照例として OpenDocumentを挙げ、 "ODF では W3C の XSL-FO 用語を文書の整形に用いており、用語の統一に役立てている"と述べている。
他に、デザインがあまりにマイクロソフトのアプリケーションに密着しすぎているという議論もある。ISOにおける国際標準化が進行中であった2007年8月、 Linux Foundation はブログでISOの各国代表組織に対して"コメント付きのノーを"と呼びかけた。記事では"OOXML はベンダーのバイナリフォーマットを直接書き出しただけの物で、既存の国際標準(例: 暗号化アルゴリズム、VML等)の再利用を避けているとしている。 OOXML標準化に先だって議論されるべき点が何百とあり、プラットフォーム特有機能と結びついたバイナリコードを存続させ、MS-Officeのバグ、知的財産、プロプライエタリーや機密に準拠したタグ、クリアになっていない知的財産を標準に取込み撒き散らす行為だと述べている(日経参考記事)。
JTC 1 に投稿されたバージョンの仕様書は 6546 ページの長さにわたり、このような長さである必要性、正当性にも疑問が呈された。Googleは "ODF 標準ならば、同じゴールでありながら 867 ページでしかない"と声明を出した。
リレーションシップファイルの内容例は以下の通り。 (word/_rels/document.xml.rels):
上記のように、文書中で参照されている画像は
http://schemas.microsoft.com/office/2006/relationships/image 形式部分を参照すれば見つけることが出来る。使用される画像を変更するには relationship を修正すればよい。
次の例ではハイパーリンクのインラインマークアップを例示する。:
この例では、 Uniform Resource Locator (URL) が "rId2"として表現されている。実際のURLはリレーションシップファイルにあり、 "rId2" アイテムの場所に記述されている。リンクされた画像、テンプレートその他のアイテムは同様に参照されている。 画像は埋め込みまたはタグによるリンクができる:
これはイメージファイルへの参照である。全ての参照はリレーションシップ経由で管理されている。例として、document.xml が画像へのリレーションシップを持つとする。この場合document.xml と同じディレクトリ階層にある _rels ディレクトリにdocument.xml.rels というファイルが存在する。このファイルにはリレーションシップ定義がコンテンツタイプ、ID、場所につき記述されている。ID はXMLドキュメントで使用されている参照IDである。タイプはメディア形式のリファレンススキーマ定義であり、場所はZIPパッケージ内またはURLで定義された外部の場所を指す。
“MathML and Ecma Math (OMML)” (英語). learn.microsoft.com. 2023年1月20日閲覧。
↑ 他の2つのモデルは WordprocessingML と SpreadsheetML である。
↑ Wouter Van Vugt (2008-11-01).
↑ Rick Jelliffe in Technical (April 16, 2007).
↑ "The X Factor". reddevnews.com.
↑ "VML — the Vector Markup Language".
↑ "ODF/OOXML technical white paper — A white paper based on a technical comparison between the ODF and OOXML formats".
↑ "ECMA-376 2nd edition Part 4 (paragraph 9.7.3)".
↑ "ODF/OOXML technical white paper — A white paper based on a technical comparison between the ODF and OOXML formats".
Office Open XML はMicrosoft Office製品群の機能に特化したエンコーディングに基づくマークアップ言語を複数含むことができる。Office Open XMLでは27の名前空間と89のスキーマモジュールを定義している。
主要なマークアップ言語は以下のものがある。:
WordprocessingML ワードプロセッサ用
SpreadsheetML スプレッドシート(表計算)用
PresentationML プレゼンテーション用
マークアップ言語に共通する部品としては以下のものがある。:
Office Math Markup Language (OMML):数式用
DrawingML:ベクター作図、チャート、他にテキストアート等。(非推奨ながら作図用に VML もサポートされる)
拡張プロパティ
カスタムプロパティ
Variant Types
カスタム XML データプロパティ
書誌情報
上記のマークアップ言語のほかに、カスタムXMLスキーマを定義してOffice Open XMLを拡張することもできる。