Office XPのXML度を探る
XML機能の核、「MSXML3」 |
あらゆるアプリケーションがXML機能を実装する場合に必須のコンポーネントがある。それが「XMLパーサ」だ。あるアプリケーションがXML文書を処理したいときには、その処理をXMLパーサに依頼して、結果を受け取る、という手順を踏む。
Office XPでXMLサポートをしたということは、Office XPには間違いなくXMLパーサが含まれていることになる。それが「MSXML3」だ。Office XPのXML処理の裏には、このMSXML3が存在する。そこで、Office XPに含まれるアプリケーションのXML機能に入る前に、先にこのコンポーネントについて紹介しておかなければならない。
■MSXML3が自動的にインストールされる
MSXML3はマイクロソフトが開発したXMLパーサであり、以前から単体で無料配布されていた。いままでは、MSXML3を利用したいユーザーが自分でインストールするものだったが、Office XPでインストールされるコンポーネントの中には最初からMSXML3が含まれており、自動的にインストールされる。ちなみに、MSXML3の実体は、WindowsディレクトリのSystemディレクトリ、もしくはSystem32ディレクトリに存在する「msxml3.dll」だ。
MSXML3では、主に以下の仕様がサポートされている。
XSLTとは、XML文書を別の文書へと変形するための機能だ。XSLTのスタイルシートを記述することで、XML文書を別のフォーマットのXML文書や、プレーンテキスト、HTML、場合によってはTeXなどの、XMLとは異なる形式への文書へも変換できる。
XML名前空間とは、大まかにいうとXML文書の中で複数の構造を混在させるための仕組みだ。例えば、XHTML文書の中に、BtoB用に記述されたXML文書を埋め込むなど、異なる文書を形態を1つの文書の中で共存させることができる。
DOMとSAXは、XML文書を操作するためのAPIだ。アプリケーションがXML文書を読み込んで、その内容を変更したり追加したり削除したり、検索したりする場合には、このAPIを利用する。
MSXML3についての説明は、マイクロソフトのWebサイトの「Microsoft XML Parser Version 3.0 Release の新機能」で読める。MSXML3は、それ以前のバージョンからいちはやくW3Cの仕様を忠実に反映したものが実装され、リリースされてきた歴史を持つ。Windows上のXMLパーサとして広く使われているコンポーネントだ。XMLへの真剣な取り組みを示す一例といってもいいだろう。
またMSXML3は、Office XP以前にも、.NET Enterprise ServerのXMLパーサとしても使われている。つまりMSXML3とは、同社のXML戦略の要となる重要なコンポーネントなのだ。
■Internet Explorerはバージョンアップしないが……
MSXML3がどのようにXMLの処理に変化を与えるのかを、MSXML3の導入で最も機能が変化するInternet Explorer 5.0を例に紹介しよう。なぜInternet Explorerが最も機能が変化するのかというと、XML文書を読み込んで表示する機能をInternet Explorerが備えており、いまのところ最もよく使われるXML文書の表示用アプリケーションだと思われるからだ。
|
筆者はInternet Explorer 5.0が存在している状態でOffice XPをインストールしたが、特にInternet Explorer 5.5に上がった形跡はなく、5.0のままであった。しかし、MSXML3の導入によってXML文書の処理機能には違いが生じている。
それが顕著に表れるのは、XSLTの処理においてだ。
MSXML3導入前にInternet Explorer 5.0に実装されていたXMLパーサ(MSXML)のXSLTの機能は、勧告以前のXSLTのワーキングドラフト仕様に沿って実装されていため、XML文書で下記のような宣言をしてから利用することになっていた。最後の「WD-xsl」というところに、この宣言がワーキングドラフトに対応したものだということが見てとれるだろう。
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl"> |
しかし、XSLTが勧告として正式な仕様になった段階で、この宣言部分に変更が生じた。勧告に沿って実装した場合、下記の宣言に対応しなければならなくなったのだ。この変更によって、MSXML3はワーキングドラフトに対応した宣言には対応しなくなった(つまり、これはMSXML3の互換性の問題ではない)。
<xsl:stylesheet version="1.0" |
Internet Explorerはバージョンアップされなくとも、XMLパーサとしてMSXML3が導入された変更した結果、Internet ExplorerのXML機能は自動的にXSLTの勧告仕様に対応したことになる。
また、MSXML3はVisual Basicなどから呼び出せるAPIとしてDOM、SAXなどを備えており、独自にXML機能を備えたアプリケーションを構築することができる。このプログラミングに関しては、連載「VBScriptでXMLプログラミング」を参照してほしい。
■XML普及に弾みがつくか
かつて、Windows 95にTCP/IPのプロトコルスタックが標準で含まれるようになったことが、インターネット普及への弾みになった(その一方で、同社はその後、Webブラウザによる市場独占への大きな批判も生んだが)。Office XPにXMLパーサをバンドルしたことは、同じような効果を生むだろうか。
続いては、ExcelのXML機能を紹介しよう。
「ExcelのXML機能は使えるか」 |
Index | |
Office XPのXML度を探る | |
Office XP各製品のXML機能概要 | |
XML機能の核、「MSXML3」 MSXML3が自動的にインストールされる Internet Exlorerはバージョンアップしないが…… XML普及の弾みがつくか |
|
ExcelのXML機能は使えるか Excel以外のアプリケーションでExcelのデータ分析ができる XML文書にスタイルシートを適用する場合 XML文書を読み込む コラム Excelで読み込めるXML文書を作ってみる XML文書の出力 そのほかのXML機能 |
|
XML Schemaに早くも対応したAccess テーブルの内容をエクスポート スキーマ情報をXML Schemaで記述 フォームやレポートもXML形式で出力 XML文書をインポートでテーブル化 AccessのXML機能のまとめ |
|
開発環境もXML対応へ IntelliSenseがXML対応 Office XP:どれもすぐ使えるXML機能 |
|
- QAフレームワーク:仕様ガイドラインが勧告に昇格 (2005/10/21)
データベースの急速なXML対応に後押しされてか、9月に入って「XQuery」や「XPath」に関係したドラフトが一気に11本も更新された - XML勧告を記述するXMLspecとは何か (2005/10/12)
「XML 1.0勧告」はXMLspec DTDで記述され、XSLTによって生成されている。これはXMLが本当に役立っている具体的な証である - 文字符号化方式にまつわるジレンマ (2005/9/13)
文字符号化方式(UTF-8、シフトJISなど)を自動検出するには、ニワトリと卵の関係にあるジレンマを解消する仕組みが必要となる - XMLキー管理仕様(XKMS 2.0)が勧告に昇格 (2005/8/16)
セキュリティ関連のXML仕様に進展あり。また、日本発の新しいXMLソフトウェアアーキテクチャ「xfy technology」の詳細も紹介する
|
|