タイトル
TOP → This Page

XML > XSLT > 条件分岐

条件分岐(単一条件)


単一の条件にあった場合にのみ処理をさせる場合は xsl:if を使う。

(書式)
<xsl:if test="条件式">
	テンプレート
</xsl:if>

(例)
XML 文章が
<社員 社員番号="1001">山田太郎</社員>
<社員 社員番号="1002">鈴木花子</社員>
<社員 社員番号="1003">田中次郎</社員>

XSLT が
<xsl:if test="@社員番号='1002'">
	<xsl:value-of select="社員"/>
</xsl:if>
の場合、

出力結果は

鈴木花子

となる


条件分岐(複数条件)


複数の条件ごとに処理を変える場合は xsl:choose, xsl:when, xsl:otherwise を使う。

(書式)
<xsl:choose>
	<xsl:when test="条件式1">
		テンプレート1
	</xsl:when>
	<xsl:when test="条件式2">
		テンプレート2
	</xsl:when>
	・・・
	<xsl:otherwise>
		テンプレートN(上記条件以外の場合の処理)
	</xsl:otherwise>
</xsl:choose>

xsl:otherwise は不要であれば省略可能

(例)
XML 文章が
<社員 社員番号="1001">山田太郎</社員>
<社員 社員番号="1002">鈴木花子</社員>
<社員 社員番号="1003">田中次郎</社員>

XSLT が
<xsl:choose>
	<xsl:when test="@社員番号='1001'">
		[<xsl:value-of select="社員"/>]
	</xsl:when>
	<xsl:when test="@社員番号='1002'">
		-<xsl:value-of select="社員"/>-
	</xsl:when>
	<xsl:otherwise>
		{<xsl:value-of select="社員"/>}
	</xsl:otherwise>
</xsl:choose>
の場合、

出力結果は

[山田太郎]
-鈴木花子-
{田中次郎}

となる


TOP → This Page