XML文書内容によって、表示内容を変える場合に使われる。
★書式★
<xsl:if test = "条件式">
(テンプレート内容)
</xsl:if>
*条件式を評価し、真なら(テンプレート内容)を処理し、偽なら何もしない。
[サンプルXML文書を表示](下のフレームに)
XMLソース
<?xml version="1.0" encoding="Shift_JIS" ?>
<?xml-stylesheet type="text/xsl" href="if01.xsl"?>
<start>
<ken>鳥取県
<city>倉吉市</city>
<tomi>95</tomi>
</ken>
<ken>大阪府
<city></city>
<tomi>40</tomi>
</ken>
<ken>兵庫県
<city>西宮市</city>
<tomi>62</tomi>
</ken>
<end>以上です(03/10/15)</end>
</start>
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:template match="/">
<xsl:if test="not(title)"><H2><center>「条件処理ifの使用例」</center></H2></xsl:if>
<xsl:apply-templates select="start/ken" />
<xsl:apply-templates select="start/ken/city" />
<xsl:apply-templates select="start/ken/tomi" />
</xsl:template>
<xsl:template match="start/ken">
<xsl:if test="city=''">
<font color="red"><xsl:value-of select="." />(市は記載されてません)</font><BR/>
</xsl:if>
<xsl:if test="city[not(.='')]">
<font color="blue"><xsl:value-of select="." /></font><BR/>
</xsl:if>
</xsl:template>
<xsl:template match="start/ken/city">
<xsl:if test=".='倉吉市'">
<HR/>
<font color="blue"><xsl:value-of select="." /></font>の富裕度は<xsl:value-of select="../tomi" />
</xsl:if>
</xsl:template>
<xsl:template match="start/ken/tomi">
<xsl:if test=".<50">
<HR/>
富裕度は<font color="green"><xsl:value-of select="." /></font>
</xsl:if>
</xsl:template>
</xsl:stylesheet>
end(03/10/15)