$変数を{}で囲えば属性値に利用できる。
JavaScript、VBScriptの関数やプロシージャの引数に属性テンプレートを使える。
[サンプルXML文書を表示](下のフレームに)
XMLソース
<?xml version="1.0" encoding="Shift_JIS" ?>
<?xml-stylesheet type="text/xsl" href="attribute07.xsl"?>
<root>
<title>属性値テンプレートの活用</title>
<data>
<sample1 スタイル="color:red">例1)変数の利用</sample1>
<sample2>例2)Scriptの引数に利用</sample2>
<sample3></sample3>
</data>
</root>
XSLソース
<?xml version="1.0" encoding="Shift_Jis"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" encoding="Shift_JIS"/>
<xsl:variable name="var1" select="/root/data/sample1/@スタイル" />
<xsl:template match="/">
<HTML><HEAD>
<SCRIPT language="JavaScript">
<![CDATA[
function Test(mes){
alert(mes);
}
]]>
</SCRIPT>
</HEAD>
<BODY>
<center><H3><xsl:value-of select="root/title"/></H3></center>
<xsl:apply-templates select="root/data"/>
</BODY>
</HTML>
</xsl:template>
<xsl:template match="data">
<p style="{$var1}"><xsl:value-of select="sample1"/></p>
例2)<button onClick="Test('{../title} : {sample2}')">テスト</button>
</xsl:template>
</xsl:stylesheet>
end(新規:04/12/8)