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> の場合、 出力結果は [山田太郎] -鈴木花子- {田中次郎} となる |