Ajaxslt実装2

今回は、もっと一般的な方法を紹介します。

今回は、XMLファイル以外に、XSLTファイルもあらかじめ用意しておき、
JavaScript内でXSLTをロードしてXMLをトランスフォーム(変換)します。


XMLは前回と同じものを使用します。

用意したXSLTはこんなかんじ。ファイル名は「sample002.xsl」とした。

読み込み処理を行うページは下記のようにし、
ファイル名は「sample002.htm」とした。

今回は、中盤付近にある

var p = loadXslt(“sample002.xsl”);

で、XSLTファイルを指定している。
ファイルパスは各自の環境にあわせて、変更してください。

loadXslt関数内で、各ブラウザ用の方法でXSLTを読み込んでいます。

読み込んだ後は、前回と同じ方法でトランスフォームしています。
つまり
transformToHTML関数内で、
IEはtransformNode、
FirefoxはtransformToFragmentで
XMLにXSLTを適用し、その結果を出力しています。

IEでは、

var b = new ActiveXObject(“Microsoft.XMLDOM”);

で、
Firefoxでは、

var b = document.implementation.createDocument(“”, “”, null);

で、XSLTファイルを読み込めるようにしています。
これをやっておかないと、ロード(load)が出来ないんです。

これと似たような方法がもうひとつあるので、次回紹介します。

Comments are closed.