今回は、もっと一般的な方法を紹介します。
今回は、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)が出来ないんです。
これと似たような方法がもうひとつあるので、次回紹介します。