・<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)