属性の活用

<xsl:value-of select="要素名/@属性名"/>で属性値を取り出せる。
<xsl:for-each select="要素名[@属性名='値']">で、特定の属性値をもつ要素だけ繰り返し処理できる。

[サンプルXML文書を表示](下のフレームに)

XMLソース

<?xml version="1.0" encoding="Shift_JIS" ?>
<?xml-stylesheet type="text/xsl" href="attribute03.xsl"?>
<start>
  <top>属性の活用</top>
  <contents>
    <info year="年月日">2000/11/16</info>
    <ken key="九州">・鹿児島県</ken>
    <ken key="九州">・熊本県</ken>
    <ken key="九州">・福岡県</ken>
    <ken key="中国">・鳥取県</ken>
    <ken key="中国">・広島県</ken>
    <ken key="中国">・山口県</ken>
    <ken key="四国">・香川県</ken>
    <ken key="四国">・愛媛県</ken>
    <ken key="近畿">・兵庫県</ken>
    <ken key="近畿">・大阪府</ken>
    <ken key="近畿">・京都府</ken>
    <ken key="中部">・愛知県</ken>
    <ken key="中部">・静岡県</ken>
    <ken key="中部">・長野県</ken>
    <ken key="中部">・新潟県</ken>
    <ken key="関東">・東京都</ken>
    <ken key="関東">・栃木県</ken>
    <ken key="東北">・秋田県</ken>
  </contents>
  <end>以上です(00/11/16)</end>
</start>

XSLソース

<?xml version="1.0" encoding="Shift_Jis"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
  <xsl:template match="/">
    <center><H3><xsl:value-of select="start/top"/></H3></center>
    <xsl:apply-templates select="start/contents"/>
  </xsl:template>
  
  <xsl:template match="start/contents">
    <xsl:value-of select="info/@year"/>は<B><xsl:value-of select="info"/></B>
    <HR/>
    <xsl:for-each select="ken[@key='近畿']">
 		<xsl:value-of /><BR/>
    </xsl:for-each>
  </xsl:template>
</xsl:stylesheet>

end(00/11/16)