【 ここから本文 】
データ・マネジメント
ソーシャルブックマークに登録 :
印刷用ページの表示
2007 Officeの文書フォーマット「OOXML」を正しく知る
XMLは、これまでのOffice利用にまつわる課題を解決しうるか
(2006年10月13日)
従来のOffice利用の課題に対処しうるXML
こうしたニーズは、Officeに限らず、専用ファイル・フォーマットを持つソフト全般において共通のものであり、解決策は繰り返し検討されてきている。その1つが、1986年にISO標準として承認されたSGML(Standard Generalized Markup Language)だ。
SGMLは、大量のファイルの保管・活用が必要となる政府組織や大企業のニーズにこたえるために、検索や長期保存に強い言語仕様として生み出された。その大きな特徴は、ファイルの構造をタグで表すという点だ。例えば、段落(Paragraph)の始まりを“<p>”、終わりを“</p>”と定めれば、次のように記述することができる。
<p>家訓その1 一日一善</p> このような記述方法は構造が単純で、ファイル内の情報を扱うプログラムを容易に作成できるというメリットがある。また、用途に応じてタグを自由に定義できるため、適用範囲が広い。例えば、ワープロであれば段落が基本単位だが、表計算ソフトはセル(cell)が基本単位となる。そこで、“<p>”を“<c>”と書き換えるだけで表計算ファイルに変換できるのだ。
そして、最も重要なポイントは、バイナリ・ファイルではなく、テキスト・ファイルであるということだ。テキスト・ファイルはいつの時代でも利用される基本的なファイル・フォーマットであり、専用アプリケーションが必須というわけではない。そのため、アプリケーションのバージョンアップで既存ファイルを利用できなくなるという事態も避けることができる。
このSGMLを発展させた言語が、OOXMLのベースとなっているXMLである。XMLは、ファイルの検索と活用に強いSGMLの後継言語としてSGMLの特徴を継承している。上記のメリットはすべて当てはまるため、前述の潜在的なニーズを満たしうることがわかるだろう。
実はマイクロソフトは、早くからOfficeのXML対応を進めてきた。XMLが最初にW3Cから勧告されたのは1998年だが、1999年発売の「Office 2000」には、すでにXML関連の機能が含まれていた。その後、「Office XP」「Office 2003」と進化するなかで、XML関連機能は強化され続けてきた。
しかし、得られるメリットの大きさにもかかわらず、これまでのOfficeでは、XMLベースのファイル・フォーマットは積極的には利用されてこなかった。それは、業務で利用するには、その実用性が必ずしも十分ではなかったということが大きな理由だ。具体的には、従来のOfficeが採用していたXMLフォーマットでは、ファイルの読み書きの速度が遅くなる場合があり、また、ファイルサイズが大きくなるのだ。
XMLの問題を克服するファイル分割とZIP圧縮
ファイル・フォーマットをXML化することで、これまでOfficeが抱えていた問題を解決できる可能性がある反面、実用性が低くなる――OOXMLの目的の1つは、このジレンマを乗り越えることだった。
XMLフォーマットの問題点を克服するためにOOXMLは、1つのファイルを分割したうえで、ZIPで圧縮するという方式を採用している。これは、ファイルを構成する要素をいくつかのXMLファイルに分け、画像などは単体のファイルとして分離し、それらをZIP形式の圧縮ファイルに納めたものを、1つのOfficeファイルと見なすという仕組みだ。
| 図1:従来のXMLフォーマットとOOXMLにおける保存処理の比較 |
ファイルの構成要素を分割することで、必要な情報だけを迅速に取り出すことができるようになり、高速な読み書きが可能となる。例えば、画像を含むファイルを保存する場合を考えてみよう(図1)。従来のOfficeでは、画像もテキスト形式にエンコードされ、XMLファイルの一部となる。そのようなファイルを開いて作業した場合は、テキスト部分を1文字変更して保存するだけでも、画像のエンコードが同時に実行されるため、保存処理に時間がかかることになる。それに対して、画像を別に保存するOOXMLでは、テキスト部分だけの変更であれば、画像のエンコードは発生せず、保存処理の時間が短縮される。また、ファイルの一部が破損しても、他の個所に影響しないというメリットもある。
もちろん、内部に格納されるファイルはZIP形式で圧縮されるため、ファイルサイズも小さくなる。マイクロソフトによれば、ファイルサイズを最大で従来の75%に抑えられるという。ちなみに、OOXMLファイルの拡張子を.zipに変更することでWindowsが通常のZIPファイルと見なし、内部のファイル群を見ることができるようになる(画面2)。
| 画面2:Word 2007ファイルの拡張子を「.docx」から「.zip」に変更したうえで開いた画面 |
ここで、圧縮技術としてZIPを採用している点にも注目してほしい。おそらく、ZIPを使ったことがないというユーザーはいないだろう。Windows XPにも標準でZIPを扱うための機能が搭載されており、また、Javaにおいても、プログラムを構成するファイルを集めたJARファイルの実態は、ZIPファイルであるのだ。ZIPは広く利用されており、XMLと同様に、長期にわたって安定して利用できると見なせる技術だ。この点からもOOXMLが、マイクロソフト独自の技術でユーザーの囲い込みを行うものではないということが理解できるだろう。



























