MSXML3って何?何が変わるの?
マイクロソフトが提供を開始したMicrosoft XML Parser Version 3.0(MSXML3)とは何ですか、また何が変わっているのでしょうか。MSXML3 をインストールすることで何かを変更する必要はありますか。

回答/富士ソフトABC株式会社 技術調査室
2001/2/6

 Microsoft XML Parser Version 3.0 (MSXML3)は、マイクロソフトが提供する最新のXML パーサです。XSLT、DOM、SAX2、XML名前空間などの仕様に対応しています。

 Internet Explorer 5.x(IE5)にはデフォルトで、XMLパーサであるMSXMLが搭載されています。MSXML3は、このXMLパーサと置き換えて利用するものです。

 IE5がリリースされた当時はまだ、XMLのスタイル(XSL)に関する仕様が出来上がっていませんでした。そのためIE5に搭載されているMSXMLには、ワーキングドラフトをもとにしてXMLのスタイルが利用できるような機能が組み込まれています。しかしその後W3Cによって、XSLの一部としてXML文書の変換を行うための仕様(XSLT)が勧告されました。MSXML3は、IE5のリリース後に登場したXSLTの仕様など、XMLの新しい仕様にIE5を対応させるための機能を提供します。

 MSXML3は無償で提供されており、下記のURLから取得することができます。MSXML3 の詳細な説明とインストール方法についても以下のWebページを参照してください。

 ダウンロードしたファイルをダブルクリックすればインストールできます。また、MSXML3のインストール後も、互換性維持のために以前のMSXMLに戻したり、あらためてMSXML3を有効にしたりと、利用するMSXMLを切り替えることができます。その切り替えに用いるのがxmlinst.exeです。次のURLからインストールできます。

 xmlinst.exeはコマンドラインから利用するツールです。使い方を簡単に紹介すると、MSXML3をインストール後、コマンドラインから「xmlinst -u」を実行すると、MSXMLに関するすべての設定をクリアできます(この時点でIE上でXMLパーサの機能が使えなくなります)。その後、やはりコマンドラインから「regsvr32 msxml.dll」か、「regsvr32 msxml3.dll」を実行すれば、好きな方のバージョンのMSXMLを有効にできます。

 MSXML3ではXSLTの「勧告」に従って実装されているため、XSLTの「ワーキングドラフト」に従って作成されたXML文書ではXSLTが動作しません。XSLTのワーキングドラフトと勧告では、XML名前空間が違っています。つまりXML文書のスタイルシートの指定の中で、指定する名前空間が異なるのです。

 XSLTのワーキングドラフトでは、スタイルを定義するXSLTスタイルシートのスタイルシートタグに、以下のようなXML名前空間を定義していました。

<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">

 これをXSLTの勧告に対応させるには、以下のようにネームスペースを変更します。version="1.0" の記述は必須です、忘れずに記述してください。

<xsl:stylesheet version="1.0"
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

 ほとんどのXSLTスタイルシートは、このXML名前空間を定義し直すだけで利用できるでしょう。

 そのほかXSLTの勧告では、タグの記述が変わったものや、タグとして独立した機能などもあります。これらの詳細はW3Cが公開している勧告を読んでください(注:公開されているXSLの仕様も、すでにワーキングドラフトから勧告候補に変わっているので、XML名前空間が異なっています)。


「Ask XML Expert」

 



XML & SOA フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

HTML5+UX 記事ランキング

本日月間