適用するXSLTを切り替えることで、同一のXML文書を異なった表示形式で提示できる。
このサンプルでは3個のXSLファイルを読み込み、ボタン・クリックで切り替え適用している。
[サンプルHTML文書を表示](下のフレームに)
XMLソース
<?xml version="1.0" encoding="Shift_JIS" ?>
<root>
<title>2003年11月05日の東証株式第一部情報</title>
<info><name>銘柄</name><end>終値(円)</end><total>出来高(千株)</total></info>
<data>
<kabu><name code="6752">松下</name><end>1529</end><total>12302</total></kabu>
<kabu><name code="6753">シャープ</name><end>1786</end><total>3964</total></kabu>
<kabu><name code="6758">ソニー</name><end>4030</end><total>8220</total></kabu>
<kabu><name code="6764">三洋</name><end>516</end><total>7551</total></kabu>
<kabu><name code="6501">日立</name><end>692</end><total>21896</total></kabu>
<kabu><name code="6502">東芝</name><end>440</end><total>17832</total></kabu>
<kabu><name code="6701">NEC</name><end>1027</end><total>19229</total></kabu>
<kabu><name code="6702">富士通</name><end>708</end><total>16634</total></kabu> </data>
<end>以上です(2004/5/4)</end>
</root>
XSLソース
*[XSLTその1]は「XMLの概要(初歩)」-「XMLのメリット」を参照
*[XSLTその2]は「XSLT」-「変数の活用」を参照
*[XSLTその3]は「XSLT(いろいろな処理)」-「繰り返し処理<xsl:for-each>」を参照
HTMLソース
<SCRIPT language="JavaScript"><!--
var xmlobj,xslobj; //グローバル変数に
function init(){
xmlobj=new ActiveXObject("MSXML2.DOMDocument");
xmlobj.async=false;
xmlobj.load("table01.xml");
xslobj=new ActiveXObject("MSXML2.DOMDocument");
xslobj.async=false;
}
function XSLChange(xslFile){
xslobj.load(xslFile);
var str = "";
str = xmlobj.transformNode(xslobj);
dv.innerHTML = str;
}
//--></SCRIPT>
</HEAD>
<BODY onload="init()">
<P>下の3個のボタンで表示スタイルを切り替えできます。<br>
<BUTTON onclick="XSLChange('../well/xml02.xsl')">XSLTその1</BUTTON>
<BUTTON onclick="XSLChange('../xsl/var03.xsl')"> XSLTその2</BUTTON>
<BUTTON onclick="XSLChange('../xsl_3/for_each01.xsl')">XSLTその3</BUTTON>
</P>
<DIV id="dv" style="margin-left:20px;border:1px solid green"> </DIV>
end(04/5/7)