本記事は、アーカイブに保存されている過去の記事です。最新の情報は、公益社団法人日本印刷技術協会(JAGAT)サイトをご確認ください。

Office XPのXML対応機能

OfficeのXML技術対応の経緯

1997年3月にOffice97を発売したときに,Office95からファイルフォーマットが大きく変わったが,これはXMLを見越して対応を行ったからである。Office2000ではドキュメントレベルでXMLに対応した。ドキュメントそのものはHTMLのデータにプレゼンテーション用のスタイルシートをくっつけたものを提供し,そこにメタデータをもたせる形でXMLに対応している。例えばWordの文書の中に複数の画像ファイルを貼り付けることがあるが,現在のW3Cでは,そのような画像データのXMLによる定義は決められていない。そこでOffice2000では文書中の画像データのマッピングなどをメタデータとしてもつようにし,ドキュメントのオブジェクトもXML化した。なお,IE5.0では,XMLのデータとスタイルシートをHTMLに変換して表示する機能はサポートしていた。

2001年に発売されたOffice XPは,見た目はユーザビリティが変わったくらいにしか見えないが,実はバックエンドのシステムと連携するためのフロントエンドアプリケーションという役割が大きい。インターネット上のWebサービスを取り込んだり,Webベースのコラボレーション環境を提供したり,XMLにネイティブに対応するなどの改善が行われた。企業内のフロントエンドとして,使い慣れた環境はそのままでバックエンドのイントラネットやインターネット,さらにWebサービスとの連携に対応しているのである。

Officeの次のバージョンはOffice.NETである。.NETは,ひとことでいえばWebサービスを提供するフレームワークである。SOAPのオブジェクトプロトコル対応,UNIXやメインフレームとの連携,Javaアプレットとの連携などを考慮したフレームワークであり,フロントエンドとしての役割を担う。XMLの新しいバージョンや新たなスキーマへの対応も考えている。2003年上半期頃のリリースを予定しているが,スペック上どこまでやるか現在検討中である。

Office XPのXML対応

Office XPでネイティブにXMLに対応しているアプリケーションはExcel,Access,Visioである。Office XPのXML対応において最も強調したいのは,フロントエンドのアプリケーションからXMLデータを生成できることである。例えばインターネット上にあるB2BやB2Cのシステムを使ってExcelで帳票を作ってXMLデータを生成し,発注まで行うことができる。Excelのようなフロントエンドのツールでそこまでできることを強調しておきたい。

1) Excel 2002のXML対応

Excelでは,ファイルの保存メニューからXMLデータとして保存できる。ユーザインタフェイスで直接XMLとして保存可能なのである。フォーマットとしてはXMLスプレッドシートという情報をもち,スプレッドシートで構成されているExcelのデータをそのままXML化する。ただし,Excelで使われているグラフィックのチャートやOLEオブジェクト,画像ファイル,描画オブジェクト,VBAマクロはXMLとしては保存できない。保存対象はあくまでも表示されるデータのレベルである。

WebクエリーもXMLに対応した。Webクエリーはインターネット上の株価や為替の情報のように日単位・時間単位で更新されるデータをExcelに取り込んで処理する機能である。例えば海外と見積もりのやり取りをする時,アメリカで15ドルの発注があった時に日本円でどう対応するかという場合,Webクエリーによって最新のデータを基に処理できる。このWebクエリーをXMLに対応させたのがOffice XPのExcel2002の大きな特徴である。

Excel2002では,XMLデータをインポート・エクスポートしたり,VBAによって特定の用途に応じた任意のフォーマットのXMLを生成できる。そのままだとセルの書体設定までXMLデータ化してしまうが,VBAのマクロを使って数値だけのXMLデータを生成して利用することもできる。

2)Visio 2002のXML対応

VisioではVisioのオブジェクトモデルをそのままXML化するが,これはVisio独自のXMLデータ方式である。Visioの図面ファイルVSD,テンプレートファイルVST,ステンシルファイルVTXのそれぞれに対して,VDX,VTX,VSXという形式でXMLに対応する。

Visioで表示するステンシル図面データは,例えば機械の設計の概略図に対して,それぞれの部材がいくらなどという情報をプロパティとしてもつことができるが,これもすべてXML化されるから,そのデータを基に発注処理などに回すことができる。

もう1つの特徴は,XMLデータにすることで全文検索対象になるということである。バイナリデータは全文検索するためにはフィルタなどを用いなくてはならなかったが,XMLはテキストデータだから検索やインデックス化も容易である。

また,Visioのオブジェクトモデルの階層構造をそのままXML化し,色は色のタグ,フォントはフォントのタグという階層表示を行う。さらに,Visio独自のXBXという形式で出力することによってマクロなどで再利用することも可能だし,Visioのデータをファイアウォール越しにインターネット上で利用することもできる。

ちなみに,オブジェクトを構成するのに要する時間を比較すると,Visio XMLのデータのほうが通常のVisioのバイナリデータより速いというテスト結果が出た。Visio XMLはテキストファイルを読み込んで表示するだけだが,従来のVisioのオートメーション作業は一つひとつのオブジェクトをすべて計算しなければならないという差である。

3) AccessのXML対応

Accessはインポート・エクスポートなどによってXMLに対応している。SQLサーバのデータに対してXMLのデータをストアすることも可能だし,SQLサーバ自体のメンテナンスもAccess内で行えるアプリケーションに発展している。AccessはOffice XPの中では最もよくXMLに対応しており,シンプルなXMLデータとしてそのまま表示することも可能である。Accessが用いるレポート機能も,標準のXMLからAccess固有の言語形式に書き換えてXMLデータを再利用できる。

Office XPは,ExcelやAccessなどのように基本的にはデータ形式として数値データをもっているものを標準として対応させているが,WordのドキュメントもXMLデータとしてエクスポートすることができるし,OutlookもXMLでビューのコントロールをすることができる。また,Web作成ツールのFrontPageも,XMLのデータを変換してXMLの規則に基づいて修飾するような機能をもつ。来年早々に出てくるであろうProject 10もXMLに対応している。

マイクロソフトのXML対応についてはWebでさまざまな情報を提供しているが,一般的なwww.microsoft.comのレベルではそこまで深い情報はないので,もっと詳しい情報を見たい場合はMSDN(マイクロソフト・デベロッパ・ネットワーク:http://www.microsoft.com/japan/developer/default.asp)から情報を取得していただきたい。 (テキスト&グラフィックス研究会)

■出典:JAGATinfo 2002年2月号

2002/02/10 00:00:00


公益社団法人日本印刷技術協会