エンタープライズ:特集 2003/09/11 18:30:00 更新

Microsoft Office Systemアプリケーションレビュー
特別編 Office 2003とXML 〜InfoPathという武器〜 (4/4)

InfoPathは使えるか?

 InfoPathはよくできたソフトである。XML文書を作成する業務があれば、すぐに活用することができるだろう。しかし、懸念材料がないわけではない。1つは、World Wide Web Consortiumで標準化が進むXFormsという仕様と互換性のない独自の世界であること。XFormsは、XMLによる高度なフォームを実現しようという試みなのだが、InfoPathと応用範囲が重なっている。もう1つは、スキーマ言語として、XML界の一部で疑問の声が上がるXML Schemaを採用していることである。XML界には、RELAX NGと呼ばれる別のスキーマ言語を支持する層もある。しかし、InfoPathで作成されたXML文書そのものは、間違いなく相互運用性が確保された正しいXML文書である。すぐ使える簡単で強力なソフトなので、難しい問題は先のことと割り切って、とりあえずInfoPathを活用するのも悪くないだろう。

XMLエディタになるWord

 XML文書作成を簡単に済ませるもう1つの方法は、XMLエディタを使う方法である。専用の入力フォームを作るのではなく、汎用のXMLエディタを使って、XML文書を作成していくわけである。この場合、利用者はXML文書の構造を常に意識しながら使うことになる。その点でハードルが高いが、反面、スキーマごとにフォームを作成する必要がないので、多くの種類のスキーマに対応するXML文書を扱わねばならないときには、かえって便利である。

 Office 2003では、Word2003がこのようなXMLエディタとして使用できるようになっている。例えば、ExcelとInfoPathの例で使ったスキーマに適合するXML文書をWordで作成する場合を考えてみよう。

 まずWordを起動し、[ツール−テンプレートとアドイン]を選んで[テンプレートとアドイン]ダイアログを開いたら、[XMLスキーマ]タブに切り替える。そして、[スキーマの追加]ボタンをクリックして、スキーマのファイルを指定する。

Office_ill009.gif

画面9■[ツール]−[テンプレートとアドイン]を選んで[テンプレートとアドイン]ダイアログを開いたら、[XMLスキーマ]タブの[スキーマの追加]ボタンをクリックし、文書作成に使用するスキーマを指定する。


 スキーマを指定すると、その情報を使ってXML文書を作成することができる。XMLデータ構造の下部に、その場所に挿入できる要素の一覧が出てくる。最初は、ルート要素(文書要素)である「在庫レポート」要素しか挿入できないので、それが表示されている。そこで、「在庫レポート」をクリックすると、開始タグと終了タグが挿入される。テキストエディタなら、"<在庫レポート>"と17文字打つ必要のある作業が、1回のクリックで終わってしまうわけである。しかも、スペルミスはあり得ない。さらに、キャレットが在庫レポートの開始タグと終了タグの間にあるときには、商品A、商品B、商品Cの3つがリストアップされる。

Office_ill010.gif

画面10■右側の作業ウィンドウ下部のリストは、現在の要素(在庫レポート要素)の内部に作成できる要素の一覧。クリックするとその要素が挿入される。


 リストされた名前を順番にクリックして、文書に挿入していくことができる。それぞれ、開始タグや終了タグを手入力する手間を考えれば、大きな手間の節約になっていることが分かるだろう。

 そして、それぞれの要素の内容に、必要な数値をキーボード入力して書き込んでいくことができる。その際、スキーマの情報を参照した入力内容のチェックが自動的に行われる。例えば、この文書では在庫数として負でない整数を指定しているので、"abc"というような数値ですらない文字列は正しくない。そのような文字列を入力すると、XMLデータ構造内のツリー表示に誤りを示すアイコンが表示され、知らせてくれる。

Office_ill011.gif

画面11■商品C要素の内容に誤った内容を入れてみた。右側の文書内の要素のツリーで、×印のアイコンが出て商品Cに誤りがあることを示している。


 また、そのままXML文書として保存しようとすると、スキーマに適合していないという警告も発してくれる。

Office_ill012.gif

画面12■誤った文書を保存するときに、スキーマに適合していないことを知らせるダイアログボックス。


 ここで、"abc"という文字列を負でない整数に書き換えてから保存すれば、警告されずに保存することができる。

 さて、XML文書として保存するときには、Word独自の情報を付加した内容と、スキーマに適合する内容のみを選択して選ぶことができる。もし、Word独自の情報を付加した場合でも、Word独自の名前空間の開始タグなどを読み飛ばせば、スキーマに適合するXML文書が姿を見せる。

 これだけでもなかなか便利な機能と言えるが、これでもWordが持つXML対応機能のほんの一部である。例えば保存時にXSLTスクリプトを適用する、といった高度な機能も用意されている。

 さて、このようなスキーマを使った入力支援を行ってくれるソフトは、けしてWordが初めてというわけではない。しかし、誰もが使っている定番ソフトに、このような機能が組み込まれることの意義は大きいだろう。例えば、社内のほとんどのパソコンに入っているソフトに標準で用意された機能ということになれば、それを活用するハードルも低くなるだろう。

XMLを飲み込んだOfficeはどこへ行くのか?

 ここまで見たように、Office 2003はXMLに関して、非常に画期的な進化を遂げている。人気ソフトのXML対応という例は多いが、さほど便利ではない小さな機能を付けただけでお茶を濁している例も珍しくない。しかし、Office 2003のXML機能は、そのような安易なソフトと同列ではない。全力投球でXMLという技術に飛び込んでいったようなものである。そのため、ある日突然XMLを扱うことを求められたOfficeユーザーの力になることもできるし、これまでOfficeに縁がなかった一般のXMLユーザーの役に立つ場合もあるだろう。

 しかし、それがいったい何をもたらすのかは、まだはっきりと見えてはいない。

 XMLという技術は、データを閉じた世界から解放し、幅広い環境で活用するための力となる技術である。最も多く使われるビジネスソフトとも言われるOfficeがXMLを取り込むということは、Officeを通して生み出される膨大なデータが、Officeという枠を超えて幅広くさまざまな世界に使われることを意味する。

 そのようなことが可能になったあと、我々はいったいどのようにOfficeを使い、データを活用していくのだろうか。おそらく、アイデア次第でさまざまなことが実現できるだろう。Office 2003は、そのような意味で「無限の可能性を秘めた」画期的なソフトという位置づけになるかもしれない。そして、可能性を構想し、実現させるのは、利用者の我々である。

関連記事
▼Windows .NETチャンネル
▼Microsoft Office Systemアプリケーションレビュー トップページへ戻る

前のページ | 1 2 3 4 |      

[川俣 晶,ITmedia]