・<xsl:attribute>で生成する属性値を、条件処理<xsl:choose>で変化さす。
[サンプルXML文書を表示](下のフレームに)
XMLソース
<?xml version="1.0" encoding="Shift_JIS" ?>
<?xml-stylesheet type="text/xsl" href="attribute02.xsl"?>
<start>
<top>属性の生成の活用</top>
<contents>
<data><sum>1234</sum></data>
<data><sum>7529</sum></data>
<data><sum>3800</sum></data>
<data><sum>2084</sum></data>
<data><sum>6610</sum></data>
<data><sum>8902</sum></data>
<data><sum>1003</sum></data>
<data><sum>4321</sum></data>
<data><sum>5234</sum></data>
</contents>
<end>以上です(00/11/2)</end>
</start>
XSLソース
<?xml version="1.0" encoding="Shift_Jis"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
<xsl:template match="/">
<H4><xsl:value-of select="start/top"/></H4>
<xsl:apply-templates select="start/contents"/>
</xsl:template>
<xsl:template match="contents">
<xsl:for-each select="data">
<DIV>
<xsl:attribute name="style">color:
<xsl:choose>
<xsl:when test="sum[.$lt$ 2000]">red</xsl:when>
<xsl:when test="sum[.$gt$ 2001 and .$lt$ 4000]">blue</xsl:when>
<xsl:when test="sum[.$gt$ 4001 and .$lt$ 6000]">green</xsl:when>
<xsl:otherwise>navy</xsl:otherwise>
</xsl:choose>
</xsl:attribute>
<xsl:value-of/>
</DIV>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
end(00/11/2)