<xsl:if> の例 3

次の item テンプレート規則は、表の行を 1 行おきに黄色にします。

XML ファイル (items.xml)

<?xml version='1.0'?>
<?xml-stylesheet type="text/xsl" href="ifyellow.xsl" ?>
<items>
   <item>Car</item>
   <item>Pen</item>
   <item>LP Record</item>
   <item>Wisdom</item>
   <item>Cell phone</item>
   <item>Film projector</item>
   <item>Hole</item>
   <item>Canopy</item>
   <item>Widget</item>
   <item>Concept</item>
   <item>Null character</item>
</items>

XSLT ファイル (ifyellow.xsl)

<?xml version='1.0'?>
<xsl:stylesheet version="1.0"
      xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >

<xsl:template match="/">
<html>
<body>
<table border="1" cellpadding="2" cellspacing="0" width="50%">
<xsl:apply-templates/>
</table>

</body>
</html>
</xsl:template>

<xsl:template match="item">
  <tr>
    <xsl:if test="position() mod 2 = 0">
       <xsl:attribute name="bgcolor">yellow</xsl:attribute>
    </xsl:if>
    <xsl:apply-templates/>
  </tr>
</xsl:template>

</xsl:stylesheet>

出力

これは書式付き出力です。

書式付き出力

これはプロセッサ出力です。

<html>

<body>

<table border="1" cellpadding="2" cellspacing="0" width="50%">

<tr>Car</tr>

<tr bgcolor="yellow">Pen</tr>

<tr>LP Record</tr>

<tr bgcolor="yellow">Wisdom</tr>

<tr>Cell phone</tr>

...

</table>

</body>

</html>

参照

概念

<xsl:if> の例 1
<xsl:if> の例 2
<xsl:if> の例 4